配置步骤 2:配置 ASP.NET 设置

您所在的位置:网站首页 iis添加应用程序如何设置相对路径 配置步骤 2:配置 ASP.NET 设置

配置步骤 2:配置 ASP.NET 设置

#配置步骤 2:配置 ASP.NET 设置 | 来源: 网络整理| 查看: 265

配置步骤 2:配置 ASP.NET 设置 项目 07/19/2023

作者 :Keith Newman 和 Robert McMurray

2.1. 会话状态设置

在 “在 IIS 上规划 ASP.NET 网站”中,你决定使用以下会话状态存储选项之一:

进程内:会话状态存储在运行 ASP.NET 应用程序的工作进程中。 状态服务器:会话状态存储在运行 ASP.NET 应用程序的工作进程外部。 SQL Server:会话状态存储在SQL Server数据库中。

你可能还选择了将会话数据存储在客户端计算机上的 Cookie 中。 你甚至可以将使用 Cookie 与其他存储方法之一结合。 例如,在 SQL Server 数据库中存储其他会话状态数据时,可以同时在 Cookie 中存储身份验证数据。

以下部分介绍了如何基于所做的规划决策配置会话状态:

在进程内存储会话状态 使用状态服务器存储会话状态 使用 SQL Server 存储会话状态 会话状态的 Cookie 模式

在进程内存储会话状态

本部分介绍了如何使用 IIS 管理器 UI 或命令行配置进程内会话状态。

使用 UI 启用进程内会话状态

打开 IIS 管理器并导航到要管理的级别。

在“功能视图”中,双击“会话状态”。

在“会话状态”页面上的“会话状态模式设置”区域中,单击“进程内”。

(可选)在“会话状态”页面上的“Cookie 设置”区域中配置 Cookie 设置。

有关 Cookie 设置的详细信息,请参阅会话状态的 Cookie 模式。

在“超时”字段中,采用 hh:mm:ss 格式输入超时值。 例如,若要设置 15 分钟,请输入 00:15:00。

(可选)选中“对模拟使用主机标识”复选框,以便对远程连接使用 Windows 身份验证和主机进程标识(ASP.NET 或 Windows 服务标识)。

在“操作”窗格中单击“应用”。

使用命令行启用进程内会话状态

若要启用进程内会话状态,请使用以下语法:

appcmd set config /commit:WEBROOT /section:sessionState /mode:InProc

变量 mode:InProc 启用进程内会话状态。 默认情况下,进程内会话状态处于启用状态。

注意

在 IIS 8 中使用 Appcmd.exe 在全局级别配置 元素时,请在 命令中指定 /commit:WEBROOT ,以便对根Web.config文件(而不是ApplicationHost.config)进行配置更改。

若要指定在上次发出与某个会话对象关联的请求后将保留该对象的默认时长,请使用以下语法:

appcmd set config /section:asp /timeout:timeSpan

变量 timeSpan 表示 (hh:mm:ss) 在发出与该对象关联的最后一个请求之后维护会话对象的最长时间。 默认值为 00:20:00。

使用状态服务器存储会话状态

本部分介绍了如何使用 IIS 管理器 UI 或命令行为会话状态存储配置状态服务器。

在 “在 IIS 上规划 ASP.NET 网站”中,你做出了以下设计决策:

为状态服务器定义连接字符串。 指定在连接超时前等待的秒数。 决定是否启用压缩。 决定是否将任何会话状态数据存储在 Cookie 中。 使用 UI 配置状态服务器来维持会话状态 打开 IIS 管理器并导航到要管理的级别。 在“功能视图”中,双击“会话状态”。 在“会话状态”页面上的“会话状态模式设置”区域中,单击“状态服务器”。 在“连接字符串”文本框中键入连接字符串,或单击“创建”以创建一个连接字符串。 在“超时(秒)”文本框中,键入一个超时值。 默认超时值为 10 秒。 (可选)在“会话状态”页面上的“Cookie 设置”区域中配置 Cookie 设置。 有关 Cookie 设置的详细信息,请参阅会话状态的 Cookie 模式。 (可选)选中“对模拟使用主机标识”复选框,以使用 Windows 身份验证和主机进程标识(ASP.NET 或 Windows 服务标识)建立到数据库的连接。 在“操作”窗格中单击“应用”。 使用命令行配置状态服务器来维持会话状态

若要配置状态服务器来维持会话状态,请使用以下语法:

appcmd set config /commit:WEBROOT /section:sessionState /mode:StateServer /stateConnectionString:string /stateNetworkTimeout:timeSpan /useHostingIdentity:true|false

变量 mode:StateServer 设置会话状态模式以将会话数据存储在状态服务器中。 默认情况下, 变量 string 定义状态服务器使用的连接字符串。 默认设置为 tcpip=loopback:42424。 变量 timeSpan 设置与状态服务器的连接保持的时间(以秒为单位)。 默认为 10 秒。 变量useHostingIdentity:true|false启用或禁用Windows 身份验证和主机进程标识 (ASP.NET 或 Windows 服务标识) 连接到数据库。 默认值为 true。

注意

在 IIS 8 中使用 Appcmd.exe 在全局级别配置 元素时,请在 命令中指定 /commit:WEBROOT ,以便对根Web.config文件(而不是ApplicationHost.config)进行配置更改。

使用 SQL Server 存储会话状态

本部分介绍了如何使用 IIS 管理器 UI 或命令行为会话状态存储配置 SQL Server 数据库。

在 “在 IIS 上规划 ASP.NET 网站”中,你做出了以下设计决策:

为数据库定义连接字符串。 指定在连接超时前等待的秒数。 指定在尝试重新连接前等待的秒数。 决定是否启用自定义数据库。 决定是否启用压缩。 决定是否将任何会话状态数据存储在 Cookie 中。 使用 UI 配置 SQL Server 来维持会话状态 打开 IIS 管理器并导航到要管理的级别。 在“功能视图”中,双击“会话状态”。 在“会话状态”页面上的“会话状态模式设置”区域中,单击“SQL Server”。 在“连接字符串”文本框中键入连接字符串,或单击“创建”以创建一个连接字符串。 如果 SQL Server 位于你管理的服务器上,请在“连接字符串”文本框选择“LocalSqlServer”。 在“超时”文本框中,键入一个超时值。 (可选)选中“启用自定义数据库”复选框,以使用自定义数据库存储会话状态数据。 (可选)在“会话状态”页面上的“Cookie 设置”区域中配置 Cookie 设置。 有关 Cookie 设置的详细信息,请参阅会话状态的 Cookie 模式。 (可选)选中“对模拟使用主机标识”复选框,以使用 Windows 身份验证和主机进程标识(ASP.NET 或 Windows 服务标识)建立到 SQL 数据库的远程连接。 在“操作”窗格中单击“应用”。 使用命令行配置 SQL Server 来维持会话状态

若要配置状态服务器来维持会话状态,请使用以下语法:

appcmd set config /commit:WEBROOT /section:sessionState /mode:SqlServer /sqlConnectionString:string /sqlCommandTimeout:timeSpan /useHostingIdentity:true|false

变量 mode:SqlServer 设置会话状态模式以将会话数据存储在 SQL Server 数据库中。 默认情况下, 变量 string 定义 SQL 服务器使用的连接字符串。 默认设置是 LocalSqlServer。 变量 timeSpan 设置与 SQL Server 的连接保持的时间(以秒为单位)。 默认为 30 秒。 变量useHostingIdentity:true|false启用或禁用Windows 身份验证和主机进程标识 (ASP.NET 或 Windows 服务标识) 连接到数据库。 默认值为 true。

注意

在 IIS 8 中使用 Appcmd.exe 在全局级别配置 元素时,请在 命令中指定 /commit:WEBROOT ,以便对根Web.config文件(而不是ApplicationHost.config)进行配置更改。

会话状态的 Cookie 模式

本部分介绍了如何使用 IIS 管理器 UI 或命令行为会话状态存储配置 SQL Server 数据库。

在 “在 IIS 上规划 ASP.NET 网站”中,你做出了以下设计决策:

选择 Cookie 模式:自动检测、使用 Cookie、使用设备配置文件或使用 URI。 除非你已选择使用 URI,否则应指定 Cookie 的名称。 除非你已选择使用 URI,否则应指定 Cookie 超时前等待的分钟数。 除非你已选择使用 Cookie,否则应决定是否要重新生成过期的会话 ID。 使用 UI 为会话状态配置“使用 Cookie”模式 打开 IIS 管理器并导航到要管理的级别。 在“功能视图”中,双击“会话状态”。 在“会话状态”页面上的“Cookie 设置”区域中,从“模式”下拉列表选择“使用 Cookie”。 在“名称”文本框中键入一个 Cookie 名称,或使用默认的 Cookie 名称 ASP.NET_SessionId。 在“超时”文本框中键入一个超时值,或采用默认的超时值 20 分钟。 在“操作”窗格中单击“应用”。 使用命令行为会话状态配置使用 Cookie 模式

若要为会话状态配置使用 Cookie 模式,请使用以下语法:

appcmd set config /commit:WEBROOT /section:sessionState /cookieless:UseCookies /cookieName:string /timeout:timeSpan

cookieless:UseCookies变量将 IIS 8 配置为对会话状态使用 Cookie 模式。 这是默认值。 变量 string 是 Cookie 的名称。 默认值为 ASP.NET_SessionId。 变量 timeSpan 设置时间(以分钟为单位),之后 Cookie 超时。默认值为 20 分钟。 例如,若要为会话状态设置使用 Cookie 模式的 Cookie(名为 MyCookie 并在 40 分钟后过期),请在命令提示符下键入以下内容,然后按 Enter:

appcmd set config /commit:WEBROOT /section:sessionState /cookieless:UseCookies /cookieName:MyCookie /timeout:40

注意

使用 Appcmd.exe 在 IIS 8 中的全局级别配置 元素时,请在 命令中指定 /commit:WEBROOT ,以便对根Web.config文件(而不是ApplicationHost.config)进行配置更改。

若要为会话状态配置使用设备配置文件的 Cookie 模式,请使用以下语法:

appcmd set config /commit:WEBROOT /section:sessionState /cookieless:UseDeviceProfile /cookieName:string /timeout:timeSpan /regenerateExpiredSessionId:true|false

变量 cookieless:UseDeviceProfile 将 IIS 8 配置为对会话状态使用设备配置文件 Cookie 模式。 变量 string 是 Cookie 的名称。 默认值为 ASP.NET_SessionId。 变量 timeSpan 设置时间(以分钟为单位),之后 Cookie 超时。默认值为 20 分钟。 变量 regenerateExpiredSessionId:true|false 启用或禁用过期会话 ID 的重新生成。

注意

使用 Appcmd.exe 在 IIS 8 中的全局级别配置 元素时,请在 命令中指定 /commit:WEBROOT ,以便对根Web.config文件(而不是ApplicationHost.config)进行配置更改。

若要为会话状态配置自动检测 Cookie 模式,请使用以下语法:

appcmd set config /commit:WEBROOT /section:sessionState /cookieless:AutoDetect /cookieName:string /timeout:timeSpan /regenerateExpiredSessionId:true|false

cookieless:AutoDetect变量将 IIS 8 配置为对会话状态使用自动检测 Cookie 模式。 变量 string 是 Cookie 的名称。 默认值为 ASP.NET_SessionId。 变量 timeSpan 设置时间(以分钟为单位),之后 Cookie 超时。默认值为 20 分钟。 变量 regenerateExpiredSessionId:true|false 启用或禁用过期会话 ID 的重新生成。

注意

使用 Appcmd.exe 在 IIS 8 中的全局级别配置 元素时,请在 命令中指定 /commit:WEBROOT ,以便对根Web.config文件(而不是ApplicationHost.config)进行配置更改。

若要为会话状态配置 URI Cookie 模式,请使用以下语法:

appcmd set config /commit:WEBROOT /section:sessionState /cookieless:UseUri /regenerateExpiredSessionId:true|false

cookieless:UseUri变量将 IIS 8 配置为对会话状态使用 URI Cookie 模式。 变量 regenerateExpiredSessionId:true|false 启用或禁用过期会话 ID 的重新生成。

注意

使用 Appcmd.exe 在 IIS 8 中的全局级别配置 元素时,请在 命令中指定 /commit:WEBROOT ,以便对根Web.config文件(而不是ApplicationHost.config)进行配置更改。

2.2. 页面和控件设置

本部分介绍了如何使用 IIS 管理器 UI 或命令行配置 ASP.NET 页面和控件设置。

注意

这些设置仅适用于 ASP.NET Web 窗体。 它们并不适用于 ASP.NET MVC 或 ASP.NET 网页。

编辑页面和控件

你可以编辑现有页面和控件的设置,并且所做的更改将反映在 Web.config 文件中。

使用 UI 编辑页面和控件的设置 打开 IIS 管理器并导航到要管理的级别。 在“功能视图”中,双击“页面和控件”。 在“页面和控件”页面上,根据需要编辑设置。 完成操作后,单击“操作” 窗格中的“应用” 。 使用命令行编辑页面和控件的设置

若要启用或禁用页面输出缓冲,请使用以下语法:

appcmd set config /commit:WEBROOT /section:pages /buffer:true|false

变量 buffer:true 启用页面输出的缓冲。 默认为 true。

添加自定义控件

在 “在 IIS 上规划 ASP.NET 网站”中,为要添加的每个自定义控件做出了以下设计决策:

指定控件的标记前缀。 指定控件的 .NET 命名空间。 指定控件所在的程序集。 使用 UI 添加自定义控件 打开 IIS 管理器并导航到要管理的级别。 在“功能视图”中,双击“页面和控件”。 在“操作”窗格中,单击“注册控件”。 在“操作”窗格中,单击“添加自定义控件”。 在“添加自定义控件”对话框的“标记前缀”文本框中,键入一个标记前缀。 在“命名空间”文本框中,键入该自定义控件所属的命名空间。 这是在应用程序代码中指定的相同命名空间。 在“程序集”文本框中,键入该自定义控件的源文件或程序集的名称,然后单击“确定”。 使用命令行添加自定义控件

若要添加自定义控件,请使用以下语法:

appcmd set config /commit:WEBROOT /section:system.web/pages /+"controls.[assembly='string', namespace='string', src='string', tagName='string', tagPrefix='string']"

变量 assembly='string' 是包含 COM 控件实现的程序集的名称, namespace 并要求同时设置 属性。 变量 namespace='string' 是与标记前缀关联的命名空间,如果 COM 控件不位于应用程序代码目录中,则还要求 assembly 设置 属性。 变量 src='string' 是包含用户控件的文件的名称, tagName 还要求设置 属性。 变量 tagName='string' 是在页中使用的控件的名称,还要求 src 设置 属性。 变量 tagPrefix='string' 是映射到源文件或命名空间和程序集的标记前缀。 此属性需要以下其他属性组合之一:

namespace 如果控件位于应用程序代码目录中,则为 定义 COM 控件。 namespace 和 assembly ,用于定义 COM 控件。 tagName 和 src 以定义用户控件。

例如,若要添加使用用户控件的指定源文件的自定义控件,请在命令提示符下键入以下内容,然后按 Enter:

appcmd set config /commit:WEBROOT /section:system.web/pages /+"controls.[tagPrefix='MyTag', tagName='MyControl', src='controls/MyControl.asx']"

注意

使用 Appcmd.exe 在 IIS 8 中的全局级别配置 元素时,请在 命令中指定 /commit:WEBROOT ,以便对根Web.config文件(而不是ApplicationHost.config)进行配置更改。

2.3. 应用程序设置

本部分介绍了如何使用 IIS 管理器 UI 或命令行配置应用程序设置。

在 “在 IIS 上规划 ASP.NET 网站”中,针对要配置的每个应用程序设置做出了以下设计决策:

为设置指定名称。 为设置指定值。 使用 UI 创建应用程序设置 打开 IIS 管理器并导航到要管理的级别。 在“功能视图”中,双击“应用程序设置”。 在“操作”窗格中,单击“添加”。 在“添加应用程序设置”对话框的“名称”文本框中,为应用程序设置键入一个名称。 在“添加应用程序设置”对话框的“值”文本框中,为应用程序设置键入一个值,然后单击“确定”。 使用命令行创建应用程序设置

若要添加应用程序设置,请使用以下语法:

appcmd set config /commit:MACHINE /section:appSettings /+"[key='string', value='string']"

变量 key=string 是应用程序设置的名称,变量 value=string 是应用程序设置的值。 例如,若要为应用程序的名称添加应用程序设置,请在命令提示符下键入以下内容,然后按 Enter:

appcmd set config /commit:MACHINE /section:appSettings /+"[key='Application Name', value='MyApplication']"

2.4. .NET 编译设置

如果要控制 ASP.NET 代码的编译方式,请在 IIS 8 中编辑 .NET 编译设置。 本部分介绍了如何为 ASP.NET 应用程序编辑编译设置。

使用 UI 配置 .NET 编译设置 打开 IIS 管理器并导航到要管理的级别。 在“功能视图”中,双击“.NET 编译”。 在“.NET 编译”页面上,根据需要编辑设置。 完成操作后,单击“操作” 窗格中的“应用” 。 使用命令行配置 .NET 编译设置

若要为站点启用或禁用批处理编译,请使用以下语法:

appcmd set config /commit:WEBROOT /section:compilation /batch:true|false

变量 batch:true 启用批量编译,变量 batch:false 禁用批处理编译。 默认值为 true。

若要更改批处理编译的最大文件大小(以 KB 为单位),请使用以下语法:

appcmd set config /commit:WEBROOT /section:compilation /maxBatchGeneratedFileSize:int

变量 int 是 KB) 的最大文件大小 (。 默认值为 1000。

若要为站点指定每次批处理编译时的最大页数,请使用以下语法:

appcmd set config /commit:WEBROOT /section:compilation /maxBatchSize:int

变量 int 是每个批处理编译的最大页数。

若要为站点定义批处理编译的超时期限(以秒为单位),请使用以下语法:

appcmd set config /commit:WEBROOT /section:compilation /batchTimeout:timeSpan

变量 timeSpan 是批处理编译的超时(以秒为单位)。

若要为站点指定对二进制零售或调试文件的编译,请使用以下语法:

appcmd set config /commit:WEBROOT /section:compilation /debug:true|false

变量 debug:true 启用调试二进制文件的编译,变量 debug:false 启用零售二进制文件的编译。 默认值为 false。

若要为站点指定在应用程序重新启动前对资源进行动态重新编译的次数,请使用以下语法:

appcmd set config /commit:WEBROOT /section:compilation /numRecompilesBeforeAppRestart:int

变量 int 是重启应用程序之前动态重新编译资源的次数。 默认值为 15。

若要为站点启用或禁用 URL 行杂注,请使用以下语法:

appcmd set config /commit:WEBROOT /section:compilation /urlLinePragmas:true|false

变量 urlLinePragmas:true 启用 URL 行杂注,变量 urlLinePragmas:false 禁用 URL 行杂注。 默认值为 false。

若要为站点启用或禁用 Visual Basic 显式编译,请使用以下语法:

appcmd set config /commit:WEBROOT /section:compilation /explicit:true|false

变量 explicit:true 启用 Visual Basic 显式编译,变量 explicit:false 禁用显式编译。 默认值为 false。

若要为站点启用或禁用 Visual Basic 严格编译,请使用以下语法:

appcmd set config /commit:WEBROOT /section:compilation /strict:true|false

变量 strict:true 启用 Visual Basic 严格编译,变量 strict:false 禁用严格编译。 默认值为 false。

若要为站点添加 ASP.NET 编译处理指令,请使用以下语法:

appcmd set config /commit:WEBROOT /section:compilation /+"assemblies.[assembly='string']"

变量 string 是 ASP.NET 编译处理指令。

若要为站点删除 ASP.NET 编译处理指令,请使用以下语法:

appcmd set config /commit:WEBROOT /section:compilation /-"assemblies.[assembly='string']"

变量 string 是 ASP.NET 编译处理指令。

若要为站点删除 ASP.NET 编译处理指令,请使用以下语法:

appcmd set config /commit:WEBROOT /section:compilation /-"assemblies.[assembly='string']"

变量 string 是 ASP.NET 编译处理指令。

若要为站点更改动态编译文件中使用的默认编程语言,请使用以下语法:

appcmd set config /commit:WEBROOT /section:compilation /defaultLanguage:string

变量 string 是默认编程语言。 默认值为 vb。 例如,若要将动态编译文件中使用的默认编程语言从 Visual Basic 更改为 C#,请在命令提示符下键入以下内容,然后按 Enter:

appcmd set config /commit:WEBROOT /section:compilation /defaultLanguage:c#

若要为站点指定要在编译期间用于存储临时文件的目录,请使用以下语法:

appcmd set config /commit:WEBROOT /section:compilation /tempDirectory:字符串

变量 string 是目录路径。

注意

使用 Appcmd.exe 在 IIS 8 中的全局级别配置 元素时,请在 命令中指定 /commit:WEBROOT ,以便对根Web.config文件(而不是ApplicationHost.config)进行配置更改。

2.5. .NET 全球化设置

本部分介绍了如何使用 IIS 管理器 UI 或命令行编辑 ASP.NET 应用程序的全球化设置。

使用 UI 编辑 .NET 全球化设置 打开 IIS 管理器并导航到要管理的级别。 在“功能视图”中,双击“.NET 全球化”。 在“.NET 全球化”页面上的属性表中,单击要编辑的全局设置以将其选中,然后从下拉列表中选择一个值。 在“操作”窗格中,单击“应用”。 使用命令行编辑 .NET 全球化设置

若要编辑用于处理 Web 请求的默认区域性,请使用以下语法:

appcmd set config /commit:WEBROOT /section:globalization /culture:string

变量 string 是用于处理 Web 请求的默认区域性。 例如,若要将处理 Web 请求时使用的默认区域性更改为美国英语,请在命令提示符下键入以下内容,然后按 Enter:

appcmd set config /commit:WEBROOT /section:globalization /culture:en-us

注意

使用 Appcmd.exe 在 IIS 8 中的全局级别配置 元素时,请在 命令中指定 /commit:WEBROOT ,以便对根Web.config文件(而不是ApplicationHost.config)进行配置更改。

若要启用或禁用基于客户端的区域性,请使用以下语法:

appcmd set config /commit:WEBROOT /section:globalization /enableClientBasedCulture:true|false

变量 enableClientBasedCulture:true 启用基于客户端的区域性,变量 enableClientBasedCulture:false 禁用基于客户端的区域性。 默认为 false。

若要编辑用于处理与区域设置相关的资源搜索的默认区域性,请使用以下语法:

appcmd set config /commit:WEBROOT /section:globalization /uiCulture:string

变量 string 是处理区域设置相关资源搜索的默认区域性。

若要编辑用于处理与区域设置相关的资源搜索的默认区域性,请使用以下语法:

appcmd set config /commit:WEBROOT /section:globalization /uiCulture:string

变量 string 是处理区域设置相关资源搜索的默认区域性。

若要更改分析 .aspx、.asmx 和 .asax 文件时的默认编码,请使用以下语法:

appcmd set config /commit:WEBROOT /section:globalization /fileEncoding:string

变量 string 是分析 .aspx、.asmx 和 .asax 文件时要使用的默认编码。

若要更改标头编码以供响应,请使用以下语法:

appcmd set config /commit:WEBROOT /section:globalization /responseHeaderEncoding:string

变量 string 是用于响应的标头编码。 默认值为 utf-8。

若要编辑内容编码以供响应,请使用以下语法:

appcmd set config /commit:WEBROOT /section:globalization /responseEncoding:string

变量 string 是用于响应的内容编码。 默认值为 utf-8。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3