65.9K
CodeProject 正在变化。 阅读更多。
Home

初学者指南:使用ASP.NET探索IIS 6.0

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.95/5 (125投票s)

2009年9月29日

CPOL

26分钟阅读

viewsIcon

648834

本文详细介绍了IIS配置、虚拟目录创建、应用程序池创建、应用程序池设置、ASP.NET的IIS请求处理等。

目录

引言

过去,我为初学者写了几篇文章,得到了所有读者的良好反响。这次我计划写一篇关于IIS 6.0以及IIS与ASP.NET集成v的文章。我曾在IIS 5.1、IIS 6.0和IIS 7.0上工作过。尽管所有IIS服务器的目的相同,但它们在架构和使用上却大相径庭。别担心,我不会解释这三个IIS版本之间的差异。本文的目的完全不同。在ASP.NET论坛回答问题时,我发现许多关于部署网站、IIS安全设置、不同身份验证类型、应用程序池、应用程序池回收等问题。这是一篇关于IIS的“一站式”文章。它将帮助初学者了解IIS是什么,如何安装IIS,如何在IIS上部署网站,创建应用程序池,Web Garden等。本文全部关于IIS 6.0。如果有人对IIS 7.0感兴趣,请阅读文章在IIS 7.0上部署ASP.NET网站。请提供您宝贵的建议和反馈,以改进本文。

什么是Web服务器

Visual Studio拥有自己的ASP.NET引擎,负责运行您的Web应用程序,因此您从VS IDE运行ASP.NET应用程序不会有任何问题。当您想托管您的网站供他人访问时,“Web服务器”的概念就出现了。Web服务器负责响应来自客户端的请求。因此,当多个用户进来时,也会有多个请求进来,Web服务器将为每个请求提供响应。IIS(Internet Information Server)是Microsoft最强大的Web服务器之一,用于托管ASP.NET Web应用程序。IIS有自己的ASP.NET进程来处理ASP.NET请求。如果您看这张图

Application Pool

IIS服务器概述

第一个客户端将向Web服务器(IIS)发出请求,Web服务器检查请求并将请求传递给ASP.NET进程(不要在这里感到困惑,我已经详细解释了),ASP.NET进程引擎将处理请求并通过Web服务器将响应传递给客户端。IIS的主要作用之一是处理每个请求。别担心,我稍后会更详细地解释一切。到目前为止,我希望您清楚为什么我们使用Web服务器。

IIS简介

IIS 6.0提供了一个重新设计的万维网发布服务架构,可以帮助您为网站实现更好的性能、可靠性、可伸缩性和安全性。在本节中,我将描述IIS的概述和IIS 6.0的安装指南。

IIS概述

Internet Information Server是Microsoft提供的最强大的Web服务器之一,能够托管和运行您的Web应用程序。IIS支持以下协议:FTP、FTPS、SMTP、NNTP、HTTP/HTTPS。我们可以在IIS上托管我们的网站,也可以将其用作FTP站点。有关更多信息,请点击此处

不同操作系统中的IIS版本

以下是支持以下操作系统的IIS版本列表

操作系统 IIS版本
Windows Server 2008 IIS 7.0
Windows Vista - 家庭高级版/旗舰版 IIS 7.0
Windows Server 2003 IIS 6.0
Windows XP 专业版 IIS 5.1
Windows 2000 Server IIS 5.0 IIS 5.0

如何安装IIS 6.0

IIS的安装与从控制面板安装任何其他系统应用程序非常相似。我们必须从“控制面板”>“添加/删除程序”开始导航,然后选择“添加/删除Windows组件”。请按照下图操作。

Installation of IIS

IIS安装

从复选框列表中选择“应用程序服务器”。这将打开一个新窗口,选择IIS,然后点击“确定”。

Installation of IIS

IIS安装选择

这将启动IIS安装。操作系统将在安装期间显示连续的进度条,并在安装完成后显示最终消息。

Installation of IIS

IIS安装进度

注意:在安装期间,可能会要求提供一些操作系统文件。您需要提供它们的路径。成功安装IIS后,转到“开始”>“运行”>“Inetmgr”以启动IIS。将出现以下屏幕,表明IIS已成功安装在您的系统中。

IIS Installation

IIS成功安装

IIS 6.0进程模型和请求处理

在开始讨论虚拟目录、应用程序池和所有其他内容之前,让我们快速了解一下IIS 6.0进程模块和IIS请求处理。这个主题非常庞大。这里我只给您一个概述。

我们可以将整个架构分为两层。

  • 内核模式
    • HTTP.SYS
  • 用户模式
    • Web管理服务
    • 虚拟目录
    • 应用程序池

Process1.JPG

IIS 6.0进程模块

根据上图,IIS有两种模式:内核和用户。HTTP.SYS是内核模式的核心,它接受来自客户端的原始请求并将其传递给特定的应用程序池。以下是IIS请求处理的步骤。

  1. 客户端通过访问站点URL从浏览器请求页面。
  2. 请求到达内核级别。HTTP.SYS捕获请求并为每个应用程序池创建单独的队列。
  3. 注意:每当我们创建一个应用程序池时,IIS会自动将该池注册到HTTP.SYS,以便在请求处理期间识别它。

    然后HTTP.SYS将请求转发到应用程序池。

  4. 请求到达应用程序池意味着工作进程(w3wp.exe)通过加载ISAPI筛选器开始动作。
  5. 根据请求的资源,w3wp.exe加载“aspnet_isapi.dll”用于APSX页面,并启动一个作为应用程序入口点的HTTPRuntime
  6. 然后HttpRuntime.ProcessRequest方法发出处理开始的信号。
  7. HttpContext对象代表当前活动请求的上下文,因为它包含对您在请求生命周期中可以访问的对象(例如RequestResponseApplicationServerCache)的引用。
  8. HttpRuntime创建一个HttpApplication对象池。
  9. 请求通过HTTP管道。
  10. HTTP模块针对请求执行,直到请求命中ASP.NET页面HTTP处理程序。
  11. 一旦请求离开HTTP管道,页面生命周期就开始了。

如果您想了解IIS请求处理的详细信息,我建议您阅读文章ASP.NET内部:请求架构

在IIS上部署您的网站

在本节中,我将讨论如何在IIS上托管网站、如何创建虚拟目录、配置虚拟目录等。让我们从虚拟目录创建开始。

创建虚拟目录

在IIS上托管Web应用程序有多种方式。Visual Studio有一些内置功能可以直接在IIS上托管和创建虚拟目录。这里是我的关于从Visual Studio在IIS上托管网站的一篇文章。但本节我将讨论创建虚拟目录的基本步骤。

首先,右键单击默认网站 > 新建 > 虚拟目录。

IIS Installation

虚拟目录创建

选择“虚拟目录...”后,虚拟目录创建向导将启动。单击“下一步”。

IIS Installation

虚拟目录创建

输入“别名”名称,然后点击“下一步”。别名名称就是您的虚拟目录名称。

IIS Installation

虚拟目录创建

顾名思义,“虚拟目录”不包含任何物理文件。我们需要定义它将引用的物理文件路径。我们必须在此处浏览物理路径。

IIS Installation

虚拟目录创建

现在,根据您的要求,您可以选择复选框并单击“下一步”。通常,我们只选择“读取”选项。

IIS Installation

虚拟目录创建:权限设置

以下是我们可以使用的一系列权限

  • 读取:这是最基本且强制性的,用于访问应用程序的网页。
  • 运行脚本:ASPX页面需要此权限,而静态HTML页面不需要,因为ASPX页面需要更多权限才能执行操作。
  • 执行:这允许用户运行普通的执行文件或CGI应用程序。这可能存在安全风险,因此仅在确实需要时才允许。
  • 写入:这允许从Web服务器添加、修改或删除文件。这绝不应该被允许。
  • 浏览:这允许检索虚拟目录中的完整文件列表,即使文件的内容受到限制。通常禁用。

您已完成!虚拟目录已成功创建。您将收到最终消息。单击“完成”关闭窗口并继续。

IIS Installation

虚拟目录创建:完成

您还可以使用其他替代选项来创建虚拟目录。

  1. 将物理目录复制到wwwroot文件夹。
  2. 物理文件夹属性 > Web共享。

配置虚拟目录

以下列出的项目对于任何Web应用程序的配置都非常重要。

  • 虚拟目录
  • Documents
  • Documents
  • ASP.NET
  • 目录安全性
  • 自定义错误

我已逐步解释了其中的每一个。除此之外,虚拟目录还可以具有BITS服务器扩展、HTTP头等设置。我没有在本文中介绍这些。让我们从“虚拟目录”选项卡开始。

虚拟目录

这是虚拟目录最重要的配置部分。要打开此选项卡,我们需要选择新创建的虚拟目录。

IIS Installation

虚拟目录配置

右键单击它 > 属性。将出现以下屏幕

IIS Installation

虚拟目录属性

在这里我们可以更改本地路径(物理路径)。在查看其他内容之前,首先查看“应用程序设置”部分。应用程序名称似乎已禁用。所以首先我们需要单击“创建”按钮,这将启用其余的设置。检查下图。

IIS Installation

虚拟目录创建

在这里我们可以更改执行设置和应用程序池名称。为执行权限选择“无”将限制对网站的访问。现在我们将转到“文档”选项卡。

文档

“文档”选项卡用于设置Web应用程序的默认页面。我们可以在此部分中添加或删除页面名称。要进行配置,我们必须转到“文档”选项卡。

IIS Installation

虚拟目录创建

当您想直接使用虚拟目录名称访问站点时,这很有用。例如,如果您的虚拟目录名称是“mywebsite”,主页名称是“home.aspx”,那么您可以按如下方式访问页面

http://<ip>/mywebsite/home.aspx

但是,如果您在“文档”部分定义了home.aspx,则只需在地址栏中使用此项即可访问站点

http://<ip>/mywebsite

ASP.NET

如果IIS注册了多个.NET Framework版本,ASP.NET版本下拉列表将显示所有这些版本。但根据应用程序,我们需要更改框架版本。例如:如果我们的应用程序是用.NET 2.0开发的,那么版本应该是2.0.X.X

IIS Installation

ASP.NET版本选择

提示:如果您的系统中已安装.NET Framework,而您正在安装IIS,那么ASP.NET将不会注册到IIS。因此,如果您在IIS上托管应用程序,它将无法工作。要将IIS注册到ASP.NET版本,您需要从命令提示符运行aspnet_regiis -i命令。这将自动将.NET Framework注册到您的IIS。

欲了解更多信息,请阅读此文

目录安全性

目录安全性为您的Web应用程序启用各种安全访问。对于目录,我们需要转到“目录安全性”选项卡。

IIS Installation

目录安全设置

单击“编辑”按钮修改目录安全设置。点击“编辑”按钮后,将出现以下屏幕。

IIS Installation

目录安全设置

以下是常用的IIS安全设置

  • 匿名
  • 集成Windows身份验证
  • 基本身份验证
  • 摘要式身份验证
匿名

匿名身份验证意味着所有用户都可以访问该网站。这是IIS上托管的任何网站的默认身份验证模式,它在“IUSR_[ServerName]”帐户下运行。我们可以通过单击“浏览”按钮来更改它。

集成Windows身份验证

这种身份验证模式通常用于内网站点。用户通过Active Directory进行身份验证。集成Windows身份验证也称为NTLM身份验证。如果浏览器设置为受信任站点自动登录Windows身份验证,则站点将使用Windows用户凭据自动登录。

基本身份验证

所有浏览器都支持此功能,并且是HTTP标准的一部分。它会显示一个登录对话框控件,接受用户名和密码。用户ID和密码将传递给IIS,以从Windows凭据验证用户。

摘要式身份验证

基本身份验证模式的缺点是它以纯文本形式发送密码。摘要式身份验证与基本身份验证几乎相同,但它发送密码的“哈希”而不是纯文本。

集成Windows、基本身份验证和摘要式身份验证使用Active Directory来验证用户。

注意:有许多与IIS和ASP.NET安全配置相关的事项。我不会详细介绍所有这些。我只是给出一个简要的概述,以便您熟悉所有这些内容。

有关配置SSL的信息,请阅读我在“参考”部分提供的参考链接。

自定义错误

“自定义错误”选项卡允许我们指定在任何特定类型的HTTP错误时显示的错误页面。

IIS Installation

目录安全设置

我们也可以通过配置web.config设置或点击“编辑”按钮更改htm文件路径来在应用程序级别自定义设置。

这就是虚拟目录的创建和设置的基本概述。希望您现在对所有这些内容都感到熟悉了。

应用程序池

应用程序池是网站的核心。一个应用程序池可以包含多个网站。应用程序池用于隔离共享相同配置的IIS工作进程集。应用程序池使我们能够隔离Web应用程序,以获得更好的安全性、可靠性和可用性。工作进程充当进程边界,将每个应用程序池分隔开来,以便当一个工作进程或应用程序出现问题或回收时,其他应用程序或工作进程不会受到影响。

Application Pool

应用程序池 - IIS

通常我们在生产环境中这样做。使用应用程序池的主要优点是隔离工作进程以区分站点,并且我们可以为每个应用程序定制配置以达到一定的性能水平。IIS支持的应用程序池的最大数量是2000个。

在本节中,我讨论了应用程序池的创建、应用程序池设置以及将应用程序池分配给网站。

如何创建应用程序池?

在IIS 6.0中创建应用程序池是一项非常简单的任务。有两种不同的方法可以创建应用程序池。IIS 6.0中有一个预定义的应用程序池,名为“DefaultApplicationPool”。以下是创建应用程序池的两种方法

  • 创建新应用程序池
  • 从现有配置文件创建

创建一个新的应用程序池

首先,我们需要打开IIS配置管理器。然后右键单击应用程序池并转到“新建”>“应用程序池”。

Application Pool Creation

创建新应用程序池

将出现以下屏幕,我们需要在此处输入应用程序池名称。

Application Pool Creation

新应用程序池名称

当我们创建新的应用程序池时,我们可以使用其默认应用程序设置。“默认设置”的选择意味着应用程序池设置将与IIS默认设置相同。如果我们想使用现有应用程序池的配置,我们需要选择第二个选项“使用现有应用程序池作为模板”。选择此选项将启用应用程序池名称下拉列表。

Application Pool Creation

应用程序池模板选择

如果选择现有应用程序池作为模板,则新创建的应用程序池应具有与模板应用程序池相同的配置。这减少了应用程序池配置的时间。

这就是创建新应用程序池的全部内容。现在让我们看看如何从现有XML配置文件创建应用程序池。

从现有配置文件创建

我们可以将应用程序池的配置保存到XML文件,然后从该文件创建新的应用程序池。这在Web Farm中配置应用程序池时非常有用,因为您有多个Web服务器,并且需要为每个服务器配置应用程序池。当您在负载均衡器上运行Web应用程序时,您需要唯一配置您的应用程序池。

所以首先,您需要将应用程序池配置保存在服务器中。查看下图了解详细信息。

Application Pool Creation

应用程序池模板选择

在此操作期间,我们可以为配置文件设置密码,该密码将在将应用程序池导入到另一台服务器时被询问。当我们单击“将配置保存到文件”时,将出现以下屏幕。

Application Pool Creation

将配置保存为XML文件

我们需要提供文件名和位置。如果需要,我们可以设置密码来加密XML文件。下面是该XML文件的一部分

Location ="inherited:/LM/W3SVC/AppPools/StateServerAppPool"
AdminACL="49634462f0000000a4000000400b1237aecdc1b1c110e38d00"
AllowKeepAlive="TRUE"
AnonymousUserName="IUSR_LocalSystem"
AnonymousUserPass="496344627000000024d680000000076c20200000000"
AppAllowClientDebug="FALSE"
AppAllowDebugging="FALSE"
AppPoolId="DefaultAppPool"
AppPoolIdentityType="2"
AppPoolQueueLength="1000"
AspAllowOutOfProcComponents="TRUE"
AspAllowSessionState="TRUE"
AspAppServiceFlags="0" 
AspBufferingLimit="4194304"
AspBufferingOn="TRUE"
AspCalcLineNumber="TRUE"
AspCodepage="0"pre>

现在我们可以为这个配置文件创建一个新的应用程序池。在创建新的应用程序池时,我们必须选择“应用程序池(从文件)”选项,如下图所示。

Application Pool Creation

从配置文件创建应用程序池

当我们选择此选项时,将出现一个屏幕,我们需要在其中输入文件名和该文件的密码。

Application Pool Creation

从配置文件创建应用程序池

选择文件并单击“读取文件”按钮。这将显示导入的应用程序池名称。单击“确定”以导入完整的配置。

Application Pool Creation

从配置文件创建应用程序池

在这里我们需要提及新的应用程序池名称,或者我们可以选择替换现有应用程序池。为了继续,我们需要提供密码。

Application Pool Creation

导入应用程序池配置的密码

这是从现有配置文件创建新应用程序池的最后一步。

配置应用程序池属性

这是Web服务器配置最重要的任务之一,当我们在生产服务器上托管时,这一点尤其重要。正如我之前所讨论的,应用程序池是托管在IIS上的任何Web应用程序的核心。我们需要了解应用程序池的每一个配置。要开始配置,我们需要转到应用程序池的“属性”。

Application Pool Creation

应用程序池属性

我们需要在应用程序池中配置以下内容

  • 回收
  • 性能
  • 健康状况
  • 身份

回收

回收应用程序池意味着回收工作进程(w3wp.exe)和用于Web应用程序的内存。定期回收工作进程是一个很好的做法,这将使应用程序运行顺畅。应用程序池有两种类型的回收

  • 回收工作进程 - 预定义设置
  • 回收工作进程 - 基于内存
回收工作进程 - 预定义设置

工作进程回收是替换内存中应用程序的实例。IIS 6.0可以通过重新启动分配给应用程序池并与网站关联的工作进程来自动回收工作进程。这可以提高网站性能并使网站平稳运行。

Application Pool Creation

应用程序池回收 - 工作进程

有三种类型的设置可用于回收工作进程

  • 以分钟为单位
  • 请求数量
  • 在给定时间

回收工作进程(以分钟为单位)

我们可以设置一个特定的时间段,之后工作进程将被回收。IIS将处理所有当前正在运行的请求。

回收工作进程(请求数量)

我们可以为应用程序配置给定数量的请求。一旦IIS达到该限制,工作进程将自动回收。

回收工作进程(以分钟为单位)

如果我们要随时回收工作进程,可以在IIS上进行此配置。我们也可以为此设置多个时间。

Application Pool Creation

应用程序池回收 - 工作进程:时间设置
回收工作进程 - 基于内存

服务器内存是任何Web应用程序的一个大问题。有时我们需要根据工作进程消耗的内存来清理它。我们可以在应用程序池中配置两种类型的设置,以根据内存消耗回收工作进程。这些是

  • 最大虚拟内存使用量
  • 最大已用内存

Application Pool Creation

应用程序池回收 - 工作进程。

任何时候,如果工作进程消耗了指定的内存(在内存回收设置中),它将自动回收。

应用程序池回收期间发生的事情

这是一个很有趣的问题。根据上述设置,应用程序池随时可以回收。那么,当时访问站点的用户会发生什么?我们无需担心。这个过程对客户端是透明的。当您回收应用程序池时,HTTP.SYS在内核模式下保留客户端连接,而用户模式工作进程回收。进程回收后,HTTP.SYS透明地将新请求路由到新的工作进程。

性能

转到“属性”对话框中的“性能”选项卡,将出现以下输出。

Application Pool Creation

应用程序池性能

为了提高Web应用程序的性能,我们可以设置应用程序池的性能设置。我们可以根据空闲时间设置工作进程的关闭时间。如果工作进程空闲,它将在给定时间段后关闭。每当有新请求到来时,它将再次启动。另一个提高性能的重要事项是“Web Garden”。

Web 园
Web Garden概述

默认情况下,每个应用程序池都使用单个工作进程(W3Wp.exe)运行。我们可以为单个应用程序池分配多个工作进程。具有多个工作进程的应用程序池称为Web Garden。具有相同应用程序池的多个工作进程有时可以提供更好的吞吐量性能和应用程序响应时间。每个工作进程都应有自己的线程和内存空间。

Application Pool Creation

Web Garden(带多个工作进程的应用程序池)

如图所示,在IIS服务器中,可能存在多个应用程序池,每个应用程序池至少有一个工作进程。Web Garden应该包含多个工作进程。

在您的Web应用程序中使用Web Garden存在某些限制。如果我们将会话模式设置为“in proc”,我们的应用程序将无法正常工作,因为会话将由不同的工作进程处理。为避免这种情况,我们应该将会话模式设置为“out proc”,并且可以使用“会话状态服务器”或“SQL-Server会话状态”。

如何创建Web Garden?

我们需要在“性能”选项卡上增加工作进程的数量。

Application Pool Creation

Web Garden创建

主要优点:Web Garden中的工作进程共享到达该特定应用程序池的请求。如果一个工作进程失败,另一个工作进程可以继续处理请求。

健康状况

现在我们转到“健康状况”选项卡。当我们选择“健康状况”选项卡时,它将显示以下屏幕

Application Pool Creation

健康监测设置

IIS提供了一些设置来提高应用程序池的健康状况。还有一些设置用于衡量工作进程的健康状况。这些是

  • 启用Ping
  • 启用快速故障保护
  • 启动时间限制
  • 关闭时间限制
启用Ping

此属性指定WWW发布服务是否应定期监视工作进程的健康状况。选中此选项表示WWW服务应监视工作进程,以确保工作进程正在运行且健康。默认情况下,它设置为30秒。这对于检查服务是否处于空闲状态也是必需的。如果它处于空闲状态,则可以将其关闭,直到下一个请求到来。Windows激活进程维护所有这些内容。

启用快速故障保护

启用快速故障保护后,如果在指定时间段内发生指定数量的工作进程崩溃,应用程序池将被关闭。发生这种情况时,WWW发布服务将应用程序池中的所有应用程序置于“停止服务”状态。

故障计数:故障计数的默认值为5分钟。此属性指定在应用程序池被快速故障保护关闭之前,在“时间段”属性指定的分钟数内允许的最大故障次数。如果在给定时间内故障次数超过指定值,则应用程序池应置于“停止服务模式”。

时间段:此属性指定在进程的故障计数重置之前的分钟数。默认情况下,它设置为5分钟。

启动时间限制

启动时间限制属性指定了WWW发布服务应等待工作进程完成启动并向WWW服务报告的时间。通常这意味着启动工作进程所需的时间。

关闭时间限制

这是工作进程的关闭时间。这是在回收期间关闭之前执行所有旧的正在运行的工作进程请求所需的时间。

身份

这是应用程序池的最后一个也是最终的设置。应用程序池有三种类型的身份:“网络服务”是默认身份。“defaultappPool”也以“网络服务”身份运行。以下是列出的应用程序池身份及其描述

身份 描述
本地系统 一个内置帐户,对服务器具有管理权限。它可以访问本地和远程资源。对于任何访问服务器文件或资源的操作,我们都必须将应用程序池的身份设置为Local System。
本地服务 内置帐户具有经过身份验证的本地用户帐户的权限。它没有任何网络访问权限。
网络服务 这是应用程序池的默认身份。NetworkServices具有经过身份验证的本地用户帐户的权限。

导航到“身份”选项卡将显示以下屏幕

Application Pool Creation

应用程序池身份配置

我们还可以在给定用户帐户下配置应用程序池。为此,我们需要在“身份”选项卡上选择“可配置”选项。

这就是关于应用程序池的全部内容。希望您现在对应用程序池是什么、如何创建和配置应用程序池有了很好的理解。

:您在Web应用程序中使用文件上传控件,在Visual Studio上运行良好,但当您将相同的代码托管到IIS上时,它却无法工作。这是涉及文件上传时Web托管中一个非常常见的问题。

:当Web应用程序在Visual Studio下运行时,与Visual Studio集成的ASP.NET引擎负责所有执行。该引擎拥有足够的权限,因此可以在您的磁盘上写入数据。但是当您将站点托管到IIS时,正如我之前提到的,它在“网络服务”身份下运行,该身份在您的系统上具有最低权限。用户只能对站点具有读取访问权限。因此,要解决文件上传问题,您需要将应用程序池的身份从“网络服务”更改为“本地系统”。“本地系统”身份意味着客户端可以在您的硬盘上具有写入访问权限。这将解决您在服务器上上传文件的问题。

您也可以通过为“Everyone”提供文件目标文件夹的写入访问权限来解决此问题。

启用Web服务扩展

IIS 6.0提供了一种特定的配置类型,我们可以从中启用/禁用Web服务扩展。如果我们要禁止/限制任何类型的扩展,我们需要选择该扩展并单击“禁止”按钮。

Application Pool Creation

Web服务扩展配置

注意:如果ASP.NET v 2.0.X.XXXX扩展在此处被禁止,您将无法访问在.NET 2.0上运行的站点。

调试托管在IIS上的应用程序

如果您的站点托管在IIS上,并且我们想调试该站点,我们需要做的主要事情是将工作进程附加到Visual Studio。从IIS调试有两种可能的情况

  1. 站点托管在本地IIS服务器上:本地IIS调试
  2. 站点托管在远程IIS服务器上:远程IIS调试

我已经发布了两篇关于上述主题的完整CodeProject文章。请参考这些文章获取详细信息。

总结

总而言之,本文是为正在学习IIS的初学者而写的。本文全面介绍了IIS、在IIS上托管网站、应用程序池创建等。我还提到了一些在处理IIS时非常常用的技巧。希望这能帮助那些在IIS上托管和配置网站时遇到困难的初学者。IIS相关的内容很多,不可能在一篇文章中全部提及。这只是一个概述。我希望将来能发表更多关于IIS的详细文章。请提出您宝贵的反馈和建议,以改进本文。谢谢。

我的IIS文章@ CodeProject

以下是我在CodeProject上发表的几篇关于IIS的文章

  1. 在IIS 7.0上部署ASP.NET网站
  2. 调试托管在IIS上的ASP.NET应用程序:进程附加和识别要附加的进程
  3. 远程IIS调试:调试托管在“远程IIS服务器”上的ASP.NET应用程序

参考和进一步研究

  1. IIS 6.0架构
  2. IIS 6.0进程模型
  3. IIS 6.0请求处理
  4. ASP.NET内部原理 - 请求处理
  5. 在IIS上部署站点
  6. 应用程序池健康监控
  7. 应用程序池健康检查
  8. IIS内部原理
  9. 更多关于应用程序池的信息
  10. IIS中的SSL配置

以下是一些关于IIS中FTP配置的优秀教程。这些教程对初学者非常有帮助

  1. 在Windows Server 2003中创建和配置FTP站点
  2. 如何在Windows Server 2003中设置FTP服务器

兴趣点

希望您喜欢这篇文章。请不要忘记提供您的反馈和建议。

历史

  • 首次发布:2009年9月29日。
© . All rights reserved.