Sometimes, you may be interested in making one or two changes to IIS’s confi guration but don’t want to click this or that in IIS Manager.. However, it is not recommended you directly ed
Trang 1To create an HTTP 500 Error for All ASP.NET Pages:
1 Click the server in IIS Manager
2 On the IIS Manager server home page, double-click Failed Request Tracing, as shown
in Figure 16.6
Figure 16.6 IIS Manager Failed Request Tracing
3 Click Add under Actions to start the Add Rule Wizard.
4 Select the content you would like traced—for example, ASPX pages (e.g., ASP.NET requests)
5 Choose what criteria, either HTTP status code or time-taken, to trace requests Select 500 and click Next.
6 Select what providers to choose from—in your case, pick all providers, including ASP, ISAPI Extension, and WWW Server, as shown in Figure 16.7
7 Click Finish
Trang 2Figure 16.7
SOME INDEPENDENT ADVICE
In Windows Vista, the ASP.NET Provider is missing from IIS Manager This provider
exists in the confi guration and is available In a recent blog post, Microsoft
acknowledged this problem and displays how to correct it For more information,
see
http://blogs.iis.net/chrisad/archive/2007/04/10/tracing-asp-net-provider-on-windows-vista.aspx
Accessing Information Using AppCmd.exe
AppCmd.exe is a convenient utility offered as an alternative to using IIS Manager, writing code, or
building a script Sometimes, you may be interested in making one or two changes to IIS’s
confi guration but don’t want to click this or that in IIS Manager Or maybe the actual confi guration
Trang 3isn’t even available in IIS Manager, leaving you with no other choice AppCmd solves this problem by using a familiar approach that employs verbs and objects It combines much of the past power of the Visual Basic scripts (.vbs) shipped with IIS while providing a much more powerful functionality than ever offered by these scripts Understanding how to use it will prove a strong and useful tool in managing your IIS servers
BEST PRACTICES ACCORDING TO MICROSOFT
IIS 7.0 supports direct editing of the confi guration fi les, including applicationHost confi g and web.confi g fi les This is a powerful ability considering that you can use your favorite text editor to build your custom server’s confi guration
However, it is not recommended you directly edit the confi guration using tools such as Notepad without fi rst testing that your confi guration is valid on your Web server When using the text editor, there is no validation that your confi guration
is correct, something which can possibly render your Web server, sites, or applications unavailable
This is where administration tools such as AppCmd.exe come in handy They will not write invalid confi gurations but instead will return an error
SOME INDEPENDENT ADVICE
AppCmd.exe does not work remotely In order to successfully use AppCmd.exe, you must connect directly to your IIS 7.0 server This is capable of being done using
Terminal Services, such as using the command mstsc /console /v:yourIIS7Server, where yourIIS7Server is the name of your Web server.
An Introduction to AppCmd.exe
In IIS 6.0, you had a large list of toolsets available to you to make changes at the command
line to the confi guration These were included in various Visual Basic scripts (.vbs) located in
%windir%\system32 or in %systemdriver%\inetpub\adminscripts The downside, though, was that they were specialized and each had different verb syntaxes and object manipulation styles
In IIS 7.0, your command-line experience is combined to a single application called AppCmd.exe
In this section, you are introduced to this powerful command-line tool aimed at simplifying your experience
Trang 4Server Management Objects and Commands
AppCmd allows you to create/confi gure Web sites, applications, application pools, and virtual
directories You can start and stop sites, recycle application pools, list worker processes, and examine
currently executing requests You can also search, manipulate, import, and export IIS and ASP.NET
confi guration data
SOME INDEPENDENT ADVICE
AppCmd.exe is not located in the system path, but instead in %windir%\
system32\inetsrv If you want quick access to the IIS 7.0 confi guration runtime
information, add inetsrv to the system path
To use AppCmd in changing directories, type:
set path=%path%;%windir%\system32\inetsrv
If you’re not logged on as a member of the Administrator group, run this
command in an elevated cmd window from Start | All Programs | Accessories |
Command Prompt Right-click and choose Run as administrator.
Command syntax is based on server management objects that expose methods to perform actions and properties that refl ect the current state Most objects provide list, add, and delete methods Site
objects have start/stop methods and properties that can be read, written, or searched All commands
provide a list of object instances and property values
You execute AppCmd commands on server management objects with parameters to control
command behavior, such as the following:
APPCMD <COMMAND> <OBJECT> <ID> [/parameter:value]
<COMMAND> specifi es a command supported by the object.
The following basic commands are supported by most objects:
LIST Displays all objects on the machine Optional <ID> specifi es
a unique object
DELETE Deletes specifi ed objects by <ID>
Trang 5The Site object supports START and STOP commands.
<OBJECT> specifi es a server management object:
<ID> is the identifi er for the object The format is specifi c to each object.
[/parameter:value] specifi es optional parameter(s) that depend on the object Usually, commands
that search objects or manipulate properties allow properties specifi ed as a parameter
Creating Web Sites
As we showed earlier, you can use IIS Manager to create Web sites However, in some cases you might want an easier way to do this other than using a user interface AppCmd.exe fi lls this void nicely and you can quickly get a site up and running using AppCmd.exe
Before starting, you must have the name, path, and bindings to successfully create a new Web site with a root Web application using AppCmd
To create a new Web site using AppCmd.exe, type the following:
AppCmd add site /name:“My First AppCmd Website”
/bindings:http/ * :80:www.myfi rstsite.com
Creating Virtual Directories
As we said earlier, virtual directories are an important concept in IIS 7.0 because they are the
defi nition of a root application Thus, although we have created a new site in the preceding example, we haven’t defi ned a new root application We will do so in this example If you do not defi ne an applica-tion, or virtual directory physical path, then the site will run as part of IIS 7.0’s default application pool
AppCmd add site /name:“My First AppCmd Website”
/bindings:http/ * :80:www.myfi rstsite.com
/physicalPath:“c:\inetpub\myfi rstsite”
Creating Application Pools
The important step in creating an application pool is having applications read to defi ne or run within your newly created application pool Thus, after creating an application pool, you will want to assign your application to that application pool