Daily .NET Tips is aiming to sharing useful coding tips and tricks for .NET Developers. This site completely design for sharing Tips and Tricks, useful Code Snippet which anyone use in daily development work and targeted anything related with .NET. This month we have wide range of tips including ASP.NET, C#, MEF, Visual Studio, Profiler etc. In this post I am quickly listing down all the tips which are published over the month September 2011
The Global Assembly Cache (GAC) is a Cache for globally available Assemblies. Most of the shared assemblies are installed inside GAC to shared across different applications. The Global Assembly Cache tool (Gacutil.exe) allow us to manipulate the contents of the global assembly cache along with install and un-install Assembly. During the development, we generally take help of gacutil from command prompt to install or uninstall assemblies into or from GAC. This is a repetitive process, every time you made some changes in your library you might need to deploy it into the GAC. Visual Studio has a nice feature called Pre-Build and Post-Build events. Using these events we execute some specific commands before or after the build. In this post I am going to show you how we can configure the post build event to deploy an Assembly to GAC.
This might be a very simple and known to most of us, but I found it as a query in a discussion forum of one of my article “Debug your ASP.NET Application while Hosted on IIS” which was published at Code Project . Question was regarding list of worker processes in “Process Attach window” of Visual studio. Though all the sites are running properly on IIS, still he was not able to view any processes in “Attach Process Window” while trying to attach a process from Visual Studio.
Understanding the ASP.NET Page Life Cycle is an essential knowledge for developing ASP.NET Web Application. When request come from client to server there are many operations performed in backend before sending response to the client. When client request for some information from a web server, request first reaches to HTTP.SYS, which is the kernel level of IIS. HTTP.SYS then send the request to respective Application Pool. Application Pool then forward the request to worker process to load the ISAPI Extension which will create an HTTPRuntime Object to Process the request via HTTPModule and HTTPHanlder. Once request passed through the HTPP Pipeline, ASP.NET Page Life Cycle Start. You will find several articles that describes the What is ASP.NET Page lifecycle, what are the different events fired during page lifecycle. This post is something different, I will show you how you can see the each and individual Page life cycle events using IntelliTrace
IntelliTrace debugging is only available with Visual Studio 2010 Ultimate Edition, which collects debugging information in background and can be used at any point to time to analysis previous debugging data. IntelliTrace collected debugger information into a trace log file (.iTrace ) that can then be opened and debugged using Visual Studio later. Size of .iTrace was always a concerns, as it’s take huge amount of your hard drive space and IntelliTrace is on by default. So whenever you are doing F5 debugging in Visual studio .iTrace is getting saved and it’s consuming your hard drive.
Well, before moving forward, I must thank to Larry Guger , Program Manager for IntelliTrace features . Yesterday I had a discussion with him on IntelliTrace . During discussion I found there are several changes on IntelliTrace log saving which has been shifted with Visual Studio 2010 SP1. I have already blogged about few of them over here http://bit.ly/f8awhz. But few hidden stuff was missing which I got to know from Larry only. In this post I am going to discussed about those changes.
Daily .NET Tips is aiming to sharing useful coding tips and tricks for .NET Developers. This site completely design for sharing Tips and Tricks, useful Code Snippet which anyone use in daily development work and targeted anything related with .NET. In this post I am quickly listing down all the tips which are posted over the month May 2011.
While using Scrolling in Visual Studio IDE, by default it scroll amount is fixed by number of lines. During normal development, when we scroll with in code editor, the scroll amount by fixed line number is fine. But if you zoom out the editor code, scrolling wont be useful as though we have changed the code editor zooming, still scrolling is available with fixed line number. To overcome this, you can use “Enable Scroll Override” features.
While working with ASP.NET web application you must be familiar with one of most important state management technique “Session”. If you want to do a quick refresh or want to know some thing more, please go ahead and read one of my article “Exploring Session in ASP.NET” published at Code Project. In this post I am going to share some important tips that might be useful.
In this tips I have explained how you can automatically wrap up code blocks or code statement in Visual Studio. We can use Document formatting to format the whole contents, but that doesn’t wrap single line code block like Properties or not even single line multiple declaration statement. Let’s consider an example, you are creating a Properties using code snippet and by default it will came up like
But, you want you code to be look like as below
How ? Read Complete Tips
In this post I am going to explain how we can bind a Enum with ASP.NET List Controls. These comprise of four different types of control, CheckBoxList, DropDownList, ListBox and RadioButtonList. This is one of the common requirements during development to bind a Enum with List Control and challenge is when we need to bind the both text and value.
Let’s consider we have the blow Enum. Now I am going to bind it with all the above mentioned type List Controls.
Well, One of the easiest way that we can implement is by Enum.GetNames(Type enumType)which retrieves the name list of enumberation and Enum.GetValues(Type enumType), which returns the list of values for each names .
Visual Studio has its own integrated ASP.NET Runtime engine, which helps to run any ASP.NET web application with in Visual Studio. While running application from Visual Studio, you must have seen a popup notification in System Tray (As shown in below image) , which is notification of ASP.NET Development Server.
This ASP.NET Development Server is nothing but a executable file (WebDev.WebServer) which used by Visual Studio to execute you web application when it’s running in the context of Visual Studio. You can find the executable file at <\Program Files (x86)\Common Files\microsoft shared\DevServer\10.0> . This folder contain two different executable
WebDev.WebServer20 is targeted to CLR 2.0, which means all the ASP.NET Application which are targeted till FW .NET 3.5 will be taking care by WebDev.WebServer20.EXE and WebDev.WebServer40.EXE for ASP.NET 4.0 based application.
Now, let’s see how we can use these executable to run an ASP.NET 4.0 Application with out using Visual Studio.
One of the common tasks involved in the development is GUID’s generation. This is even more frequent when we are working on a SharePoint solutions. Even during writing unit test we need to generate static GUID to validate data’s. Visual Studio comes with a tool called guidgen.exe ( c:\program files (x86)\microsoft sdks\windows\v7.0a\bin\NETFX 4.0 Tools\guidgen.exe ) which is registered with visual studio as an external tool and invoked from Tools > Create GUID. But whenever you need an unique static GUID you have to navigate to tool and copy the ID evertime. Last few days of my development involved with lots of GUID generation where I found it’s taking time to generate so many guid’s. So, I came up with an small approach where we can generate a GUID by just pressing some shortcut key. Behind the seen I wrote a macro for the same and that is being triggered with the key press.
To answer this question In a single statement, you can use HttpContext.Current.Items for very short term storage. By Short term storage means, this data is valid for a single HTTP Request. There are many confusion around regarding storing data in HttpContext.Current.Items and storing data in Session variable. In this blog post I am going to describe what are the different scenarios where we can use HttpContext.Current.Items and what is the exact difference with session variable.
Items collections of HttpContext is and IDictionary key-value collections and that are shared across a single HTTPRequest. Yes, HttpContext.Current.Items valid for a single HTTPRequest. Once after processing, server information is sent back to the browser, the variables that were set in the Items collection will lost. Where as for Session Variable, information valid for multiple request as this is user specific. The session variable only expires either on Session Time Out or explicitly clear the values.