Sometimes, you will be migrating your application from a typical ASP.NET into the microsoft supported ASP.NET AJAX Web Extension along with AJAX Control Toolkit. I often get the same issue where i forget to add the httpHandlers and httpModules. Please visit this blog for a quick solution for this issues. It worked for me.
I was looking for a reference implementation to see how to send emails with a template for my Sendvite project. I finally found this simple and elegant answer.
The simplest way is to hardcode email content and inserts dynamical values using concatenating functions inside page’s code. But what if you need to change design of email or add some functionality to page source? Email template can be very big and contain a pile of dynamic variables with concatenation correspondingly. Looking into such source is horrible. Everybody knows it and in spite of this even professional programmers often choose the way to place content email in the source code.
Link: http://www.codeproject.com/useritems/mailtemplates.asp
Hope this helps. i implemented it already and it works really good.
I looked around for a free .NET library to read POP3 emails from Gmail or any other client. Finally i found a working & simple library or project here http://www.codeproject.com/cs/internet/Pop3MailClient.asp.
Good example.
Great idea to embed small or tiny graphs in a document or sentence. For example, if you are writing a page which shows the performance of Dow Jones Index, you can do so by the following:
| Dow Jones | 10765.45 | ?32.82 (?0.30%) |
This makes the user not to get distracted and follow the story you wanted to convey. In technology part of it, this is a simple graph which you can draw it with basic API on most languages. I build a sample program in C# where i got the source from here.
Also, you can take this Visual Studio Solution to quickly have it working. Download Sample
What is Event Toaster and how can I use it?
After installing the power toys, you may notice that every time you launch Visual Studio 2005, a small toaster icon appears in the system tray. This is the notification icon provided by event toaster. This power toy allows you to perform an action (e.g. playing a WAV file, showing a balloon, running a VS macro, etc.) when a given event happens in Visual Studio. The options can be configured from the standard Tools-Options dialog under Powertoys/EventToaster/General. You can also disable the event toaster from here.
What does Indexed Find do and how can I use it?
Indexed Find is a tool that uses the Indexing Service built into Windows to provide fast text searches over files in a directory. This is especially helpful for searching over folders with a lot of source code (e.g. the Managed Package Framework sources that are shipped with the SDK).
I was curiout about this tool in Microsoft which can generate classes to serialize/deserialize XSD based xml files back and forth. I installed the tool provided by microsoft in my previous column. Created a small project with customers/customer xml snippet and tested it. It was simple and worked great.
To read existing xml generated for xsd:
private void ReadExistingFile(ref FileStream fStream, ref MemoryStream mStream)
 {
 fStream = new FileStream(”XMLFile1.xml”, FileMode.Open);
 byte[] byteArray = new byte[90000];
 mStream = new MemoryStream(byteArray);
 // root xsd class
 XmlSerializer s = new XmlSerializer(typeof(customers));
 customers allcustomers = (customers)s.Deserialize(fStream);
 foreach (customer c in allcustomers)
 {
 textBox1.Text += c.id + “\r\n”;
 }
 }
Also to create a new snippet:
private static FileStream WriteANewXMLForThisXSDGeneratedClass(FileStream fStream2)
 {
 // write something new
 fStream2 = new FileStream(”XMLFile2.xml”, FileMode.Create);
 customers tobeWritten = new customers();
 customer muthu = new customer();
 muthu.id = “one”;
 muthu.name = “muthu”;
 customer kumar = new customer();
 kumar.id = “two”;
 kumar.name = “kumar”;
 tobeWritten.Add(muthu);
 tobeWritten.Add(kumar);
 XmlSerializer s = new XmlSerializer(typeof(customers));
 s.Serialize(fStream2, tobeWritten);
 return fStream2;
 }
It’s really cool…..
- Download the entire solution from here: Sample
