ISAPI is a low level unmanged Win32 API. The interfaces defined by the ISAPI spec are very simplistic and optimized for performance. They are very low level – dealing with raw pointers and function pointer tables for callbacks - but they provide he lowest and most performance oriented interface that developers and tool vendors can use to hook into IIS. Because ISAPI is very low level it’s not well suited for building application level code, and ISAPI tends to be used primarily as a bridge interface to provide Application Server type functionality to higher level tools. For example, ASP and ASP.NET both are layered on top of ISAPI as is Cold Fusion, most Perl, PHP and JSP implementations running on IIS as well as many third party solutions such as my own Web Connection framework for Visual FoxPro. ISAPI is an excellent tool to provide the high performance plumbing interface to higher level applications, which can then abstract the information that ISAPI provides. In ASP and ASP.NET, the engines abstract the in formation provided by the ISAPI interface in the form of objects like Request and Response that read their content out of the ISAPI request information. Think of ISAPI as the plumbing. For ASP.NET the ISAPI dll is very lean and acts merely as a routing mechanism to pipe the inbound request into the ASP.NET runtime. All the heavy lifting and processing, and even the request thread management happens inside of the ASP.NET engine and your code.
As a protocol ISAPI supports both ISAPI extensions and ISAPI Filters. Extensions are a request handling interface and provide the logic to handle input and output with the Web Server – it’s essentially a transaction interface. ASP and ASP.NET are implemented as ISAPI extensions. ISAPI filters are hook interfaces that allow the ability to look at EVERY request that comes into IIS and to modify the content or change the behavior of functionalities like Authentication. Incidentally ASP.NET maps ISAPI-like functionality via two concepts: Http Handlers (extensions) and Http Modules (filters).
ISAPI is the initial code point that marks the beginning of an ASP.NET request. ASP.NET maps various extensions to its ISAPI extension which lives in the .NET Framework directory:
<.NET FrameworkDir>\aspnet_isapi.dll
Instead use the aspnet_regiis.exe utility to make sure that all the various scriptmaps get registered properly:
cd <.NetFrameworkDirectory>
aspnet_regiis - i
As a protocol ISAPI supports both ISAPI extensions and ISAPI Filters. Extensions are a request handling interface and provide the logic to handle input and output with the Web Server – it’s essentially a transaction interface. ASP and ASP.NET are implemented as ISAPI extensions. ISAPI filters are hook interfaces that allow the ability to look at EVERY request that comes into IIS and to modify the content or change the behavior of functionalities like Authentication. Incidentally ASP.NET maps ISAPI-like functionality via two concepts: Http Handlers (extensions) and Http Modules (filters).
ISAPI is the initial code point that marks the beginning of an ASP.NET request. ASP.NET maps various extensions to its ISAPI extension which lives in the .NET Framework directory:
<.NET FrameworkDir>\aspnet_isapi.dll
Instead use the aspnet_regiis.exe utility to make sure that all the various scriptmaps get registered properly:
cd <.NetFrameworkDirectory>
aspnet_regiis - i
Using Internet Information Services (IIS) Manager, you can create a virtual directory for an ASP.NET Web application. A virtual directory appears to client browsers as though it were contained in a Web server's root directory, even though it can physically reside somewhere else. This approach enables you to publish Web content that is not located under the root folder on your Web server, such as content that is located on a remote computer. It is also a convenient way to set up a site for local Web development work because it does not require a unique site identity, which means that it requires fewer steps than creating a unique site. This topic explains how you can create a virtual directory and configure it to run ASP.NET pages.
To start IIS Manager :
Now that IIS Manager is started, you are ready to create a virtual directory.
To create a virtual directory by using IIS Manager
To start IIS Manager :
- On the Start menu, click Run.
- In the Open box, type inetmgr and click OK.
- On the Start menu, click Run. In the Run text box, type control panel, and then click OK.
- In the Control Panel window, click Administrative Tools.
- In the Administrative Tools window, click Internet Information Services.
Now that IIS Manager is started, you are ready to create a virtual directory.
To create a virtual directory by using IIS Manager
- In IIS Manager, expand the local computer and the Web site to which you want to add a virtual directory. Right-click the site or folder within which you want to create the virtual directory, point to New, and then click Virtual Directory.
- In the Virtual Directory Creation Wizard, click Next.
- In the Alias box, type a name for the virtual directory and then click Next. Choose a short name that is easy to type, because the user types this name to access the Web site.
- In the Path box, type or browse to the physical directory that contains the virtual directory, and then click Next. Note that you can select an existing folder or create a new one to contain the content for the virtual directory.
- Select the check boxes for the access permissions that you want to assign to your users. By default, the Read and Run Scripts check boxes are selected; these permissions enable you to run ASP.NET pages for many common scenarios.
- Click Next and then click Finish.
- In IIS Manager, right-click node for the virtual directory that you want to configure, and then click Properties.
- Click the Directory Security tab, and then in the Authentication and access control section, click Edit.
- Select the check box for the authentication method or methods that you want to use for your virtual directory, and then click OK. By default, the Enable anonymous access and Windows Integrated Authentication check boxes are already selected.
- In Windows Explorer, navigate to the folder that will contain the pages for the site. Right-click the folder and then click Sharing and Security on the shortcut menu.
- On the Security tab, configure any additional accounts and permissions that you need, and then click OK.