Showing posts from December, 2010

Enum.HasFlag method in C# 4.0

Enums in dot net programming is a great facility and we all used it to increase code readability. In earlier version of .NET framework we don’t have any method anything that will check whether a value is assigned to it or not. In C# 4.0 we have new static method called HasFlag which will check that particular value is assigned or not. Let’s take an example for that. First I have created a enum called PaymentType which could have two values Credit Card or Debit Card. Just like following.public enum PaymentType
Now We are going to assigned one of the value to this enum instance and then with the help of HasFlag method we are going to check whether particular value is assigned to enum or not like following.protected void Page_Load(object sender, EventArgs e)
PaymentType paymentType = PaymentType.CreditCard;

if (paymentType.HasFlag(PaymentType.DebitCard))
Response.Write("Process Debit Card");
if (paymentType.HasFlag(PaymentType…

ASP.NET 4.0- Menu control enhancement.

Till 3.5 menu control was rendered through table. And we all know that it is very hard to have CSS applied to table. For a professional look of our website a CSS is must required thing. But in 4.0 Menu control is table less it will loaded with UL and LI tags which is easier to manage through CSS. Another problem with table is it will create a large html which will increase your page KB and decrease your performance. While with UL and LI Tags its very easy very short. So You page KB Size will also be down.Let’s take a simple example. Let’s Create a menu control in with four menu item like following.<asp:Menu ID="myCustomMenu" runat="server" >
<asp:MenuItem Text="Menu1" Value="Menu1"></asp:MenuItem>
<asp:MenuItem Text="Menu2" Value="Menu2"></asp:MenuItem>
<asp:MenuItem Text="Menu3" Value="Menu3"></asp:Me…

ASP.NET Error Handling: Creating an extension method to send error email

Error handling in required to handle any kind of error occurred. We all are using that in one or another scenario. But some errors are there which will occur in some specific scenario in production environment in this case We can’t show our programming errors to the End user. So we are going to put a error page over there or whatever best suited as per our requirement. But as a programmer we should know that error so we can track the scenario and we can solve that error or can handle error. In this kind of situation an Error Email comes handy. Whenever any occurs in system it will going to send error in our email.
Here I am going to write a extension method which will send errors in email. From 3.5 or higher version of .NET framework its provides a unique way to extend your classes. Here you can fine more information about extension method. So lets create extension method via implementing a static class like following. I am going to use same code for sending email v…

ASP.NET Performance tip- Combine multiple script file into one request with script manager

We all need java script for our web application and we storing our JavaScript code in .js files. Now If we have more then .js file then our browser will create a new request for each .js file. Which is a little overhead in terms of performance. If you have very big enterprise application you will have so much over head for this. Script Manager provides a feature to combine multiple JavaScript into one request but you must remember that this feature will be available only with .NET Framework 3.5 sp1 or higher versions. Let’s take a simple example. I am having two javascript files Jscrip1.js and Jscript2.js both are having separate functions.//Jscript1.js function Task1() { alert('task1'); } Here is another one for another file.////Jscript1.js function Task2() { alert('task2'); } Now I am adding script reference with script manager and using this function in my code like this.<form id="form1" runat="server"> <asp:ScriptManager ID=&qu…

Programmatically updating one update panel elements from another update panel elements

While taking interviews for candidate I am often asking this question but most peoples are not able to give this answer. So I decided to write a blog post about this. Here is the scenario. There are two update panels in my html code in first update panel there is textbox hello world and another update panel there is a button called btnHelloWorld. Now I want to update textbox text in button click event without post back. But in normal scenario It will not update the textbox text as both are in different update panel. Here is the code for that.<form id="form1" runat="server"> <asp:ScriptManager ID="myScriptManager" runat="server" EnableCdn="true"></asp:ScriptManager> <asp:UpdatePanel ID="firstUpdatePanel" runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:TextBox ID="txtHelloWorld" runat="server"></asp:TextBox> </ContentTem…

Sending mail with Gmail Account using System.Net.Mail in ASP.NET

Any web application is in complete without mail functionality you should have to write send mail functionality. Like if there is shopping cart application for example then when a order created on the shopping cart you need to send an email to administrator of website for Order notification and for customer you need to send an email of receipt of order. So any web application is not complete without sending email. This post is also all about sending email. In post I will explain that how we can send emails from our Gmail Account without purchasing any smtp server etc.There are some limitations for sending email from Gmail Account. Please note following things.Gmail will have fixed number of quota for sending emails per day. So you can not send more then that emails for the day.Your from email address always will be your account email address which you are using for sending email.You can not send an email to unlimited numbers of people. Gmail ant spamming policy will restrict this.Gmail…

The remote host closed the connection. The error code is 0x80070057

While creating a PDF or any file with pages I was getting following error.

Exception Type:System.Web.HttpException
The remote host closed the connection. The error code is 0x80072746.
at System.Web.Hosting.ISAPIWorkerRequestInProcForIIS6.FlushCore(Byte[] status,
Byte[] header, Int32 keepConnected, Int32 totalBodySize, Int32 numBodyFragments, IntPtr[] bodyFragments, Int32[] bodyFragmentLengths, Int32 doneWithSession, Int32 finalStatus, Boolean& async)
at System.Web.Hosting.ISAPIWorkerRequest.FlushCachedResponse(Boolean isFinal)
at System.Web.Hosting.ISAPIWorkerRequest.FlushResponse(Boolean finalFlush)
at System.Web.HttpResponse.Flush(Boolean finalFlush)
at System.Web.HttpResponse.Flush()
at System.Web.UI.HttpResponseWrapper.System.Web.UI.IHttpResponse.Flush()
at System.Web.UI.PageRequestManager.RenderFormCallback(HtmlTextWriter writer,
Control containerControl)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection
at System.Web.UI.Control.RenderChi…

Request format is unrecognized for URL unexpectedly ending exception in web service.

Recently I was getting error when I am calling web service using Java script. I searching on net and debugging I have found following things. Any web service support three kinds of protocol HttpGet,HttpPost and SOAP. In framework 1.0 it was enabled by default but after 1.0 framework it will not be enabled by default due to security issues and WS-Specifications. So we have to enabled them via putting configuration settings in web.config. Here is the code for that.<configuration> <system.web> <webservices> <protocols> <add name="HttpGet"></add> <add name="HttpPost"></add> </protocols> </webservices> </system.web> </configuration> Hope this will help you. Stay tuned for more. Till that Happy programming!!!.

Technorati Tags: ,,,

ASP.NET MVC 3 RC2 Razor- Syntax Intellisense in view.

Microsoft has recently launched Razor view engine with ASP.NET MVC RC2. It’s going to be promising one. There are lots of features bundled with this view engine. But in earlier version of ASP.NET 3 MVC. We were are not having Synatx intellisense provided for mvc views in Visual Studio 2010. So either we have to depend third party tools like Resharper or we have to manage it without intellisesnse. But with ASP.NET MVC 3 RC2 Microsoft has moved one step forward and its providing syntax intellisense without installing any third party addons in Visual Studio. Here is example of it.
Hope you liked it. Stay tuned for more.. Happy Programming..

ASP.NET 4.0 Script Manager Enhancement Part-2 AjaxFrameworkMode Property

This will be a second part of ASP.NET 4.0 Script Manager enhancement. In this post I am going to explain about AjaxFrameworkMode Property. In Earlier version of script manager it will load entire Microsoft Ajax library whether its required or not. In 4.0 script manager we are having AjaxFrameMode property where we can set mode as explicit and we add only js that are required or not.There are three values of AjaxFrameworkMode properties supported in asp.netEnabled- Specified that ASP.NET 4.0 scriptmanager will automatically load MicrosoftAjax.js file which is core element of Microsoft Ajax library. Disabled- This Specified that Microsoft Ajax Script features are disabled and script manager will not have any reference to any javascript files. Explicit- Specifies that you will explicitly include script references to individual framework core script file that your page requires, and that you will include references to the dependencies that each script file requires.So he…

ASP.NET 4.0- ScriptManager Enhancement Part-I- Enable CDN Property.

ASP.NET 4.0 has been a great step forward to the programming. Microsoft has done incredible job with the performance. One of them is Enable CDN Property in 4.0 Script Manager. Let's explore it in details. As you all know that Microsoft is Providing Content Delivery Network for all the Ajax script that is used by Microsoft Ajax and All version of Jquery and JQuery UI. This Script manager enable cdn property will fetch all the script from that CDN Automatically. Developer don't have to worry about. As you know new generation browsers are like IE8 and Firefox are creating a new thread of each JS or CSS include in Webpage if they are coming from the CDN(Content Delivery Network). So this will be a great measure step towards it. Let's take an example to explore the things. I am taking one simple example which will demonstrate use of this. I am tasking a Textbox and Button. On the button click event it will update textbox's text property. I am going to use update pan…

DotNetQuiz 2011 on Want to be quiz master or participant?

Test your knowledge with 31 Reputed persons (MVPS and bloggers) will ask question on each day of January and you need to give reply on that. You can win cool stuff.My friend Jacob Sebastian organizing this event on his site to sharpen your dot net related knowledge. This Dot NET Quiz is a platform to verify your understanding of Microsoft .NET Technologies and enhance your skills around it. This is a general quiz which covers most of the .NET technology areas.Want to be Quiz Master?Also if you are well known blogger or Microsoft MVP then you can be Quiz master on the dotnetquiz 2011. Following are requirements to be quiz master on I am also a quiz master on and Quiz master eligibility:You will be eligible to nominate yourself to become a quiz master if one of the following condition satisfies: You are a Microsoft MVP
You are a Former Microsoft MVP
You are a recognized blogger
You are a recognized web master running one or m…

Microsoft silverlight 5.0 features for developers

Recently on Silverlight 5.0 firestarter event ScottGu has announced road map for Silverlight 5.0. There will be lots of features that will be there in silverlight 5.0 but here are few glimpses of Silverlight 5.0 Features.Improved Data binding support and Better support for MVVM:One of the greatest strength of Silverlight is its data binding. Microsoft is going to enhanced data binding by providing more ability to debug it. Developer will able to debug the binding expression and other stuff in Siverlight 5.0. Its also going to provide Ancestor Relative source binding which will allow property to bind with container control. MVVM pattern support will also be enhanced.Performance and Speed Enhancement:Now silverlight 5.0 will have support for 64bit browser support. So now you can use that silverlight application on 64 bit platform also. There is no need to take extra care for it.It will also have faster startup time and greater support for hardware acceleration. It will also provide end …

New blogger template for My blog - DotNetJaps

I have changed my blogger template to newer version of blogger. Hope you guys liked it. There are some difficulties over there but I still love the changes that blogger has offered. I know my old version of syntax highlighter is not working. But I am fixing that for all the older posts and already did it for some posts. ‘Change is in all things sweet.’ As a philosopher Aristotle has said we all should be ready to change. I have changed my blogger template due to following reasons. It’s more SEO Friendly. It is having less errors on w3c validations and It will increase search engine optimization for my blog. Still blogger template are not totally compliant like word press but blogger has decided to moved in that way so I am going to support that way. It has good way to monetize your blog. It has provided a new feature called ‘Pages’. You can create your own pages like I have created like interview questions etc. I will going to post some frequently asked interview question…

ASP.NET MVC Razor IsPost property with IF –Else loop

ASP.NET MVC Razor a new view engine from Microsoft looks very promising. Here are example of code where we can determine page is post back or not. It support a IsPost Property which will tell you whether page is post back or not. So based on that we can write code for handling post back. Also one of greatest feature of razor is we can write code for decision making like if else and other stuff with single @ statement isn’t that great stuff.Here is the stuff how we can write the code with IsPost property.@{
var Message="";
Message ="This is from the postback";
Message="This is without postback";
}And we can now print that variable with following HTML Form.
<form method="POST" action="" >
<input type="Submit" name="Submit" value="Submit"/>
Here submit button will submit the form and based on that it will print message. Le…

Output caching with ASP.NET MVC Razor

Caching data greatly increase the website performance as its not going to do server round trip. I have already mentioned how you can use Output caching in web forms in earlier blog post here. Let’s see how we can do same thing with mvc. For this example I have used mvc razor. In mvc you can use OutputCache attribute to cache the output. Just like below.[OutputCache(VaryByParam="none",Duration=60)] public ActionResult Index() { ViewModel.Message = DateTime.Now.ToString(); return View(); }Here it will cache the view for 60 second and will not go for server round trip. Let’s see How it will look into the browser.

You can also set the output caching in web.config and and create output cache profile which you can use any where like following.
<caching> <outputCacheSettings> <outputCacheProfiles> <clear/> <add name="MyOuputCacheProfile" duration="60" varyByParam="none" /> </outputCacheProfiles>…

What is difference between HTTP Handler and HTTP Module.

Here are the difference between HTTP Handlers and HTTP Modules.Http Handlers:Http handlers are component developed by developers to work as end point to pipeline. It has to implement System.Web.IHttpHandler interface and this will act as target for requests. Handlers can be act as ISAPI dlls the only difference between ISAPI dlls and HTTP Handlers are Handlers can be called directly URL as compare to ISAPI Dlls.Http Modules:Http modules are objects which also participate in the request pipeline but it does job after and before HTTP Handlers complete its work. For example it will associate a session and cache with request. It implements System.Web.IHttpModule interface.HTTP Handler implement following Methods and PropertiesProcess Request: This method is called when processing requests. Here you can perform all the things related to processing request.IsReusable: This property is to determine whether same instance of HTTP Handler can be u…

GUID Vs Int data type as primary key

Recently one of my friend ask me when I should go for GUID and When I should go for Int as primary key in table. So decided to write a blog post for it. Here are advantages and disadvantage of the GUID and INT. INT Data Type:Advantages:Its required small space in terms of the storage it will only allocates 4 bytes to store data. Insert and update performance will be faster then the GUID. It will increase the performance of the application. Easy to index and Join will give best performance with the integer. Easy to understand and remember Support of function that will give last value generated like Scope_Indentity()Disadvantages:If you are going to merge table frequently then there may be a chance to duplicated primary key. Limited range of uniqueness if you are going to store lots of data then it may be chance to run out of storage for INT data type. Hard to work with distributed tables. GUID Data Type:Advantages:It is unique for the current domains. For primary key is uniquely ident…