Links of the day – 11 September 2012

.NET / Visual Studio/Web Development
Inspirational
Quotes/Dictionary
Advertisements

Links of the day – 7 September 2012

.NET / Visual Studio
Inspirational
Quotes/Dictionary

Links of the Month–April 2012

  • Free Microsoft Technologies Training:

Want to learn latest Microsoft technologies…check the following website:

http://www.microsoftvirtualacademy.com/home.aspx 

  • Free eBook: Practical Performance Profiling :

Get up to speed with a free copy of Practical Performance Profiling by Jean-Philippe Gouigoux  sponsored by RedGate

Covers the theory and practical skills necessary to analyze and improve the performance of .NET code.

Guides you through using a profiler and explains how to identify and correct performance bottlenecks.

http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/entrypage/practical-performance-profiling-b 

  • 11 Important Database designing rules:

http://www.c-sharpcorner.com/UploadFile/shivprasadk/11-important-database-designing-rules/

  • What AnyCPU Really Means As Of .NET 4.5 and Visual Studio 11

http://dotnet.dzone.com/articles/what-anycpu-really-means-net

  • Future of Cloud Computing
  • SQL Server Storage Basics

‘must-read’ resources for every SQL Server developer and DBA.

http://beyondrelational.com/modules/2/blogs/28/posts/13299/sql-server-storage-basics.aspx 

http://www.hanselman.com/blog/NETVersioningAndMultiTargetingNET45IsAnInplaceUpgradeToNET40.aspx

http://mashable.com/2012/03/26/free-html5-website-builder/

AppFabric ebook – Free Download

I have been passive for quite some time and would like to be back into regular blogging.

Today,  I present an eBook which is available for free.

 The developers guide to AppFabric – October Edition. 

Alan Smith  is the author of the book and explains “The Developer’s Guide to AppFabric” is a free e-book for developers who are  exploring and leveraging the capabilities of the Azure AppFabric platform. Click here to download. You can visit here for the latest edition of the book.

Happy coding 🙂

 

Task Failed because “SGEN.EXE” was not found

I was approached by a colleague recently about an error related to “SGEN.EXE” when tried to build the project in release mode. This error is only for the release mode and in debug mode it works perfectly.

I researched further on the error:

Sgen.exe is an XML Serializer Generator Tool used to create an assembly for types in a specified assembly in order to improve the startup performance of a XmlSerializer when it serializes or deserializes objects of the specified types.

Sgen.exe generates the [libraryname].XmlSerializers.dll and will be used by the clients of webservices to speed up the time to load the webservice.

Solutions:

  1. Right click on the project and in the properties page of the project, click on the Build tab.
    Select Configuration: Release.
    At the bottom, Generate serialization assembly is set to AUTO. When it is AUTO in release mode, SGEN tries to create XML serialization assembly and fails. Set Generate serialization assembly to OFF. If it is set to OFF, Visual Studio never runs sgen.exe.
  2. Copy the sgen.exe file from  C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\ to C:\WINDOWS\Microsoft.NET\Framework\v3.5\. I’m not sure if this is 100% solution.
  3. Solution:
    • Open the GAC (C:\Windows\Assembly), find the DLL corresponding to your project.
    • Right click on it and select uninstall.
    • Now, re-build your project and the problem must be gone.
  4. Final solution would be to try refreshing from SourceSafe and if it wont solve the problem would be to destroy entire solution hierarchy and get a fresh version of solution to a new location.

I’m sure the first solution should solve the problem, 2nd and 3rd solution can be tried to solve the error.

Let me know if there is anything can be added in comments section.

Happy Coding Smile

 

Response.Redirect(url) : Solution for ThreadAbortException

From the early days of using ASP.NET, we use Server.Transfer(URL) and Response.Redirect(URL). These simple calls used in ASP would never create problems but, in ASP.NET an exception is thrown when used.

The ThreadAbortException is thrown when a call is made to Response.Redirect(url). This happens because the system aborts processing of the current web page thread after it sends the redirect to the response stream. Internally, Response.Redirect(url) makes a call to Response.End() and that call Thread.Abort() which forces the stack to end the thread.

Many suggest using Try and Catch block. I feel it may not be a proper solution as processing exception can be costly. Best option would be to use an overload method of Response.Redirect() to redirect without calling Response.End().

Response.Redirect(string url, bool endResponse);

Response.Redirect(url, true) The client will be sent the redirect for the new page and present page will immediately stop processing as a thread abort will occur.  This is the default behavior of a redirect.

Response.Redirect(url, false) – In this overload method, the second parameter tells the system whether to make the internal call to Response.End() or not. Parameter should be false to make the client is sent to redirect url but call to Response.End is skipped. This is one way to avoid the exception, but the cost is that this thread doesn’t stop executing the Application events!

If you are doing a redirect in Page_Init (or any page events) and call Response.Redirect(url, false) the page will only redirect once the current page is done executing.  This means that any server side processing you are performing on that page WILL get executed.

Though, there are cons of using both methods I personally prefer using Respose.Redirect(url,false).