Hi,
Plzz do check out this site if you need to write code for sending mail in asp.net 2.0
http://www.systemnetmail.com/default.aspx
Bye
Hi,
Plzz do check out this site if you need to write code for sending mail in asp.net 2.0
http://www.systemnetmail.com/default.aspx
Bye
Create a class library project in Visual Studio 2003.
Add reference to the following assembly Microsoft.Crm.Platform.Callout.Base.dll.
Inherit the Microsoft.Crm.Callout.CrmCalloutBase class.
Now override the event against which you want to put your business logic.
Add web reference to CrmService
http://servername:port/mscrmservices/2006/crmservice.asmx
Set up the CrmService properties like url, credentials and CallerIdValue
CrmService service = new CrmService();
service.Url = “http://servername: port /mscrmservices/2006/CrmServiceWsdl.aspx”;
service.Credentials = System.Net.CredentialCache.DefaultCredentials;
service.CallerIdValue = new CallerId();
service.CallerIdValue.CallerGuid = userContext.UserId;
For our PostUpdate event handler we can see that the values for preImageEntityXml as well as postImageEntityXml are passed as a string which essentialy is a xml.
public override void PostUpdate(
CalloutUserContext userContext,
CalloutEntityContext entityContext,
string preImageEntityXml,
string postImageEntityXml
)
So first we will convert it into a dynamic entity
DynamicEntity entityPost=ConvertToDynamicEntity(postImageEntityXml);
The definition of the ConvertToDynamicEntity function is
private static DynamicEntity ConvertToDynamicEntity(string xml)
{
TextReader sr = new StringReader(xml);
XmlRootAttribute root = new XmlRootAttribute(“BusinessEntity”);
root.Namespace = “http://schemas.microsoft.com/crm/2006/WebServices”;
XmlSerializer xmlSerializer = new XmlSerializer(typeof(BusinessEntity), root);
BusinessEntity entity = (BusinessEntity)xmlSerializer.Deserialize(sr);
return (DynamicEntity) entity;
}
We’ll deserialize the xml output to get an instance of DynamicEntity.
To make it more easy to work with the properties we can make use of the following class PropertiyDictionary in our callout.
https://nishantrana.me/wp-content/uploads/2009/02/propertydictionary.doc
We’ll pass the instance of the newly created dynamic entity to the PropertyDictionary’s constructor.
PropertyDictionary properties=new PropertyDictionary(entityPost);
Now to work with properties we can do something like this
// For CrmDateTimeProperty
if (properties.Contains(“actualclosedate”))
{
CrmDateTimeProperty acd = (CrmDateTimeProperty)properties[“actualclosedate”];
actualclosedate = acd.Value;
}
// For CrmMoneyProperty
if (properties.Contains(“new_estimatedrevenue”))
{
CrmMoneyProperty ner = (CrmMoneyProperty)properties[“new_estimatedrevenue”];
new_estimatedrevenue = ner.Value;
}
// For PicklistProperty
if (properties.Contains(“salesstagecode”))
{
PicklistProperty salesstagecode = (PicklistProperty)properties[“salesstagecode”];
salesstage = salesstagecode.Value.Value.ToString();
}
That’s it…
Hi,
I was getting this error when I was trying to call a .NET dll from an ASP page.
The dll was making use of a web service.
And while searching for it I found that if we are making use of a web service from
an asp page, the page tries to create a temporary file in windows\temp directory and because it hasn’t got rights for the same we get the error.
We can resolve it by giving it the appropriate rights for the windows/temp folder
1) Right click the temp folder à Select properties
2) Go to security tab
3) Click on Add and add ASPNET account. ( In locations select your machine )
4) Then add one more account IWAM_D-0824 (i.e. IWAM_YourMachineName)
5) Try running the ASP page again. The page should run without any error.
Bye
1. Create a Assembly file using following:
File >> New >> Project >> Class Library >> Name = MyLibCSharp
2. Add a function HelloWorld. Code will look as follows:
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace MyLibCsharp
{
[Guid(“FE1EB79E-3513-487e-ADFF-2B61C6CB4730”)]
[ComVisible(true)]
public class Class1
{
public String HelloWorld(String name)
{
return (“Hellow World; Welcome “ + name);
}
}
}
3. Sign the Assembly (To enable it to be used by multiple Applications):
Go to Project >> MyLibCSharp Properties >> Signing >> Sign the Assembly >> New >> Key.snk
4. Enable for COM Interop:
Go to Project >> MyLibCSharp Properties >> Build >> Output >> Check the “Register for COM interop.
5. Build the Assembly.
6. Add to GAC using “Visual Studio Command Prompt” the assembly is located in DEBUG/RELEASE folder.
gacutil -I MyLibCSharp.dll
7. Execute the following:
Regasm /tlb /codebase MyLibCSharp.dll
8. ASP code:
<%
Dim foo
set foo = Server.CreateObject(“MyLibCSharp.Class1”)
Response.Write (foo.HelloWorld(“test”))
%>
9. To unregister the assembly
Regasm /unregister MyLibCSharp.dll
10. And to remove the same from GAC (Global assembly cache)
Go to
C:\WINDOWS\assembly
find the assembly you want to remove
select it , right click it and select uninstall
Bye
Occasionally I used to receive this error
“Unable to start debugging. The Machine Debug Manager is disabled” when I try to run the solution from visual studio in debug mode.
The reason for this was Machine Debug Manager was in disabled state or not started.
So the solution for this is
1) Go to control panel.
2) Then Administrative Tools
3) Then services.
4) In services find the service named Machine debug manager.
Enable the service and start it if disabled or stopped.
Bye
Reflector is a nice tool developed by Lutz Roeder.
It is somewhat similar to .Net ILDASM (Intermediate Language Dissembler).
The best thing about it is that we can even view the source code that also in different languages
C#, VB.NET, Delphi even the IL code itself.
This is the link
http://www.aisto.com/roeder/dotnet/
There are other good tools as well.
Do check it.