Web Service QuickStart
Nice Web Service tutorial by Chris Maunder over at CodeProject
Mobile Web Server (Apache httpd port)
Nice Web Service tutorial by Chris Maunder over at CodeProject
Mobile Web Server (Apache httpd port)
I tried out FX Cop today and was quite impressed.
For those not aware of it (and neither was I until a couple of days ago) it’s a "Microsoft Best Coding Practices" reporter which takes a .NET assembly and reports on how it conforms to those practices.
It’s available from http://www.gotdotnet.com/team/fxcop/
There is an article on CodeProject on how to extend FXCop:
Why FxCop?
- To ensure that coding standards such as naming conventions, localization etc. are as per company standards.
- To avoid bad coding and make use of best practices.
- Well-formatted test reports.
FxCop allows you to write / create your own rules or to use standards provided by Microsoft, and apply to your assembly. A rule is managed code that can analyze targets and return a message about its findings. FxCop analyses programming elements in managed assemblies and provide an informational report containing messages about the targets, including suggestions on how to improve the source code.
Coding standards: all developers are supposed to follow a company’s coding standards. It’s not an easy task to check manually the thousands of lines of code to ensure that coding standards are followed or not. FxCop solves this problem. You create an assembly having all these standards and run your assembly (DLL or EXE) against these rules, and FXCop will ensure that the specified rules are used in the coding or not.
Darwen at CodeGuru describes it this way:
I ran into my first bad encounter with C# garbage collection. The destructor I added to my main application form wasn’t being called. I tried forcing it with GC.Collect(), nothing.
What worked was adding IDisposable as a base class and implementing Dispose(), then adding a using{} block around my main form:
using (myMainForm = new MyMainForm()
{
.
Application.Run(myMainForm);
.
}
This seems to defeat the purpose of destructors, or at least the convenience of relying on them to do cleanup.
I don’t like the Dispose/using technique so I actually replaced it with a handler for the Form.Closing event. Of course this only works with Form derived classes.
There may be something special about the main form preventing the destructor from being called. I know the main form is being destroyed because it contains an object whose destructor DOES get called.
A few helpful web pages I googled in researching this anomoly:
http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=6905
http://www.ondotnet.com/pub/a/dotnet/2002/02/11/csharp_traps.html?page=1
http://www.andymcm.com/csharpfaq.htm
To think I scoured the net for RegEx examples of parsing RFC822 & ISO 8601 when the DateTime class supported it all along:
Bill Wagner’s Effective C# Book on the Addison-Wesley website. Reviewed here.
Richter’s Applied.NET Programming book
From an Amazon review of Tom’s book:
I purchased this book after reading Mr. Archer’s Visual C++.NET Bible and am extremely happy with it. I have quite a few C# books and can say without hesitation that this book, Jesse Liberty’s and Petzold’s SECOND C# book are the only C# books worth owning. You buy those three and you’ll be set. I personally use them as follows:
* Jesse Liberty – Better than Archer in terms of tutorial style writing. Use this book as your first C# book
* Tom Archer – Awesome reference material and low-level details of the language. Use this book as a reference after finishing Liberty’s book
* Charles Petzold – Great for learning how to write Windows apps with C# – once you’ve learned the language with Archer & Liberty.
Eric compares C# & C++ considering the entire programming environment not just the languages