Showing posts with label ASP.NET. Show all posts
Showing posts with label ASP.NET. Show all posts

Tuesday, November 12, 2013

How to enable gzip compression in IIS7

Overview:
          Gzip compression is used to compress your content and then deliver to client. Today's modern browser supports compression. So it is a good idea to deliver the static content after compression, this way you can save lots of bandwidth and your page will be load faster as it has to send compressed data.

How to enable gzip compression in IIS7

The first and most thing is to make sure the compression module is installed on not? check the below mentioned link for installation process.

http://www.iis.net/configreference/system.webserver/httpcompression


Basic steps to enable the HTTP compression on static Content


  • Start > Run > Inetmgr > hit enter
  • Select your web site
  • In Features View, double click Compression
  • Check the Enable Static content compression
  • Click Apply in the Actions pane.

Above steps must enabled the static compression and your js, css etc static contents should be compressed.


Exceptional Settings

Sometimes you will not get your content compressed after doing above mentioned steps. I recently got the experience and I would like to share the solution with you.

Set read permissions to applicationHost.config file for IIS_ISURS group. 
  • You will find this file at C:\Windows\System32\inetsrv\config. 
  • Right click to this file and click properties, now click on security tab
  • Now click on Edit button
  • Now click on Add button under Group or user name
  • Now enter IIS_IUSRS 
  • Click Check Names button
  • Now Select Read & Execute and Read permission
  • Click Apply, then Click OK
Check the httpCompression types
    Check the httpCompression section in applicationHost.config file, you should find <add mimeType="application/x-javascript" enabled="true" />. If this is correct then it should be correctly configured in your IIS. 
  • Now go to IIS Manager and select your site.
  • Click on Features View from bottom
  • Now click on MIME Types
  • Find the .js entry
  • If the .js extension has MIME Type = "application/javascript" then remove that entry.
  • Now click Add from Actions pane
  • give extension as .js
  • give MIME type as application/x-javascript
  • click apply.
  • Restart the website.
This will start compressing your .js files.
.css files would compressed automatically if other configurations are correct.

Friday, November 8, 2013

How to add Expiry Headers to Static Content from web.config

The easiest way to add the expiry headers or cache control in static content from web.config file is:

Add following line of code in web.config file.
 <system.webServer>
    <staticContent>
       <clientCache cacheControlCustom="public"
    cacheControlMaxAge="720:00:00" cacheControlMode="UseMaxAge" />
    </staticContent>  

  </system.webServer>


Look at the value cacheControlMaxAge="720:00:00"  it suggests the static content will be cached in users browsers for 30 days. This works perfectly and this is the easiest way to handle the cache control in asp.net web site.


Thursday, August 16, 2012

How to redirect from HTTP to HTTPS in ASP.NET

If you are a web developer and want to make an online shopping site, you will definitely asked to use SSL and use HTTPS request. Now the linked question in your mind is How do i redirect request from HTTP to HTTPS?

Here is the simple solution.

Go to Web.Config file and add below code stuff.

<rewrite>

  <rules>

    <rule name="Redirect to HTTPS" stopProcessing="true">

      <match url="(.*)" />

      <conditions>

        <add input="{HTTPS}" pattern="^OFF$" />

      </conditions>

      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />

    </rule>

  </rules>

</rewrite>

That's great your all request are now redirect to HTTPS. Wait this may not be happened with all the guys. Please make sure you have installed the URL Rewrite Module 2.0 available here.  If it is not installed and you try above code it will make your web.config file invalid and raise error.

After installing Rewrite Module 2.0 restart the IIS and your url redirect will start working.

Saturday, July 21, 2012

How to prevent browser caching for css / javascript

Now a days i have an online shopping site for maintenance.
https://www.izabellondon.com
Since i have done lots of changes in the site, there are situations when we upload new css or javascript but client can not see the new changes because by default browser loads the css or javascript file from its cache memory if the URL is repeated. 


Then we have to ask our client to please clear your browser cache to get new changes. I am sure many of web developer has to face this situation then i decided not to ask our client for same thing.


I start wondering how to overcome this problem? after some google search i found the solution.


You need to add any random querystring after your call to javascript or css includes. for example.


CSS
<link href="/App_Templates/FrontEnd/Login.css?date=2012-07-02" rel="stylesheet" type="text/css" />


Javascript
<script src="/Content/swfobject.js?version=2" type="text/javascript"></script>


It will resolve the issue and your client will not need to clear the cache to get new changes. Querystring in css/javascript call will always load file from the server instead of browser cache.


:)


wow


Happy Coding :)

Tuesday, March 8, 2011

How to use Session variable in Asp.net web service

In order to use Session variable in asp.net web service you need to add
EnableSession=true attribute in web method definition.

[WebMethod(EnableSession=true)]
public void HelloUser()
{
return "Hello " + Convert.ToString(Session["LoggedInUser"]);
}

Wednesday, February 23, 2011

List of Simple Quality Checks while developing a software or web site

15 Basic QC points to check while developing the software / web application.

In today’s world software development is very rapid process. There are very tight deadlines which need to meet by developers. Usually developers finish the development but after it delivered to QC team developer get a big list of bugs find by qc team. And then developer needs to solve bug list overnight which is very tedious job. Herewith I tried to list out common qc points which developer can check at the time of development which make his/her life easier. Hope it will helpful to developers.

  1. Proper tab index of every field in all the pages.
  2. There should be * near mandatory field. And a note in bottom of page which mention that * fields are mandatory / compulsory.
  3. Set the max length property of every input field in a page so that user can’t enter longer text in field.
  4. There should be at least one default button (i.e. Save / Submit etc.)
  5. In windows application every entry form should be close when user press escape key.
  6. There should be product icon on top left corner or every page in case of windows application.
  7. Numeric fields should not accept alpha characters.
  8. Use proper validation for email addresses, phone numbers etc.
  9. During development please check the junk character entry like ', @, #, $ etc. it should be pass on insert, update, record fetching etc.
  10. In case of listing – details page scenario listing page should have features like sorting, paging, search by all required columns, go to page etc.
  11. Every master entry should be entered during transaction form (i.e. if your transaction form has combo box which contain master data then there should be a + button near combo box, user should be able to press this button and that button should open particular master page after inserting new master entry it should be selected in given combo box.)
  12. Use of try .. catch block. Developer should use try catch block on every event handler where user can interact. Also user should not get unhandled exception, there should be proper message to user in case of any exception and that error should be logged in some text file on user’s machine / server in case of web based application.
  13. Use proper validation for avoiding duplicate master entries.
  14. Referential integrity should be maintain, means when user tries to delete any master entry system should check for the existence of referential data in transactions and should give proper message to user. Then take action like deactivate the master or remove all referential transactions whatever best suits as per the requirements of software.
  15. Every field should have a tooltip which can help user to understand the role of that field in the page.