Friday, January 8, 2010

IIS 7.0 – Site Vs. Application Vs. Virtual Directory

Another thing with IIS 7.0 which always bothers me is exact difference between web site , application and virtual directory. There is lot of verbose information present online related to this topic. After going through few good web links I managed to prepare a summary of the differences, that is easy to understand and remember.

[ Note: It is highly possible that you might get this information from MSDN or IIS web logs as I prepared it from there :) ]

Introduction
  • A site contains one or more applications, an application contains one or more virtual directories, and a virtual directory maps to a physical directory on a computer
  • A site contains all the content, both static and dynamic, that is associated with that site.
  • Each site must contain at least one application, which is named the root application.
  • Each application (including the root application) must contain at least one virtual directory, which is named the root virtual directory. These objects work together to form the site.
  • An application can have several virtual directories, and each one will be served by the same App Domain as the application to which they belong.
Site
  • Container for applications and virtual directories, and you can access it through one or more unique bindings.
  • The binding includes two attributes important for communication: the binding protocol and the binding information (combination of IP address, port, and optional host header)
  • A site may contain more than one binding
  • In addition to containing applications (which contain virtual directories) and specifying bindings, the following configuration settings belong to the site:
        • Limits: configure settings to limit the amount of bandwidth, the number of connections, or the amount of time allowed for connections to a site.
        • Logging: configure settings for handling and storage of log files for the site.
        • Failed request trace logs: configure settings for logging failed-request traces for the site
APPLICATION
  • Group of files that delivers content or provides services over protocols
  • Application's path becomes part of the site's URL
  • In addition to belonging to a site, an application belongs to an application pool, which isolates the application from applications in other application pools on the server.
VIRTUAL DIRECTORY
  • Map to a physical directory on a local or remote server
  • Directory name then becomes part of the application's URL
  • An application can have more than one virtual directory
  • For example, you might use a virtual directory when you want your application to include images from another location in the file system, but you do not want to move the image files into the physical directory that is mapped to the application's root virtual directory.

I hope! things are much clearer now.

eNjOy cOdInG!!
Currently Listening to: John Lennon - Happy Xmas (War Is Over)

Thursday, January 7, 2010

IIS 7.0 – Classic and Integrated pipeline

While creating a new app pool, users are required to choose framework version and pipeline type. I was not sure about the difference between available pipeline types. I spent some time on this topic and reading MSDN articles. this is what I understood:

Classic Pipe Line in IIS 7.0

  • Works just like IIS 6.0
  • All requests pass through the IIS pipeline first, and then if the file extension is mapped to ASP.NET ISAPI extension, then the request is handed to aspnet_isapi.dll and passes through the ASP.NET request pipeline.
  • If the file is static file, ASP or PHP, it is handled by something else.

Integrated Pipeline IIS 7.0

  • Allows http modules to participate in all requests
  • This works also for static contents, PHP pages and image
  • Provides unified request processing, regardless of handler
  • For example, managed Forms Authentication can be used for all content, including ASP pages, CGIs, and static files.

Cheers!!!

Saturday, December 19, 2009

Windows Live Writer

This is my first post on blog spot using windows live write. There is no special content in this post. I wanted to check if all plug-ins will work as they are supposed to work.

  • Image

1

  • One Two
    Three Four
  • Map

Map picture

  • Code
using System;
internal class MySampleClass
{
void MySampleClass()
{
//Do nothing;
}
}





Let’s see how all these things reflects back to my blog spot blog.

Friday, December 18, 2009

Linked In - Sophisticated version of Monster job

I’m using linked-in from past one year now and initially I felt it is a nice networking tool for people looking to connect with people with similar appetite towards technology. Suppose, if I’m looking out for a mentor, it is actually tough to achieve this using linked in. What best you can do is this, message your friends and ask them if they know anybody who can mentor you and keep doing this till you get a nice mentor. Another point that I notice nowadays is that, I get random messages from people asking for recommendations. Few days back I got one message asking me to recommend him. Surprisingly, I never worked with that guy and my knowledge about his work is ZERO. I don’t know why people do these things. Linked in is becoming a place full of false recommendations which is very sad. I always make a point that I never make any false recommendations. I think it is bad for the industry. I feel it is becoming sophisticated version of monster job or naukri.

//Currently Watching - Biography Leonardo Da Vinci
//Cheers!!

Sunday, December 6, 2009

SQL Server - Size of Index Table for Each Index

I'm a regular reader of Pinal's SQL Authority blog. Few days back, he posted a puzzle to find index size of each index on table. I was able to solve the puzzle and my solution was one of the two solutions selected by Pinal.

Check it out from here

//Cheers!
//Currently listening to - Thirteen by Danzing