IIS ASP.Net模拟 怎么关闭
发布网友
发布时间:2022-04-22 09:15
我来回答
共2个回答
热心网友
时间:2023-07-04 00:48
配置 ASP.NET 模拟身份验证
您可以通过以下方法执行此过程:使用用户界面 (UI)、在命令行窗口中运行 Appcmd.exe 命令、直接编辑配置文件或编写 WMI 脚本。
用户界面
使用 UI
打开 IIS 管理器,然后导航至您要管理的级别。 有关如何打开 IIS 管理器的信息,请参阅 打开 IIS 管理器 (IIS 7)。 有关如何在 UI 的各个位置间进行导航的信息,请参阅 在 IIS 管理器中导航 (IIS 7)。
在“功能视图”中,双击“身份验证”。
在“身份验证”页上,选择“ASP.NET 模拟”。
在“操作”窗格中单击“启用”,以使用默认设置下的 ASP.NET 模拟身份验证。
您也可以在“操作”窗格中单击“编辑”,以设置安全主体。
在“编辑 ASP.NET 模拟设置”对话框中,选择“特定用户”或“已通过身份验证的用户”。 无论您选择哪个选项,IIS 都会将该标识用作 ASP.NET 应用程序的上下文。 默认情况下,IIS 7 设置为模拟已通过身份验证的用户。
单击“确定”以完成或前进到下面的可选步骤来更改要模拟的标识。
您也可以单击“设置”来更改“特定用户”标识。
在“设置凭据”对话框中,请执行下列操作:在“用户名”中输入现有用户帐户的名称作为 IIS 用于匿名访问的新帐户,在“密码”中输入与该用户帐户关联的密码,然后在“确认密码”中输入与该密码完全相同的值。
单击“确定”关闭“设置凭据”对话框。
单击“确定”关闭“编辑 ASP.NET 模拟设置”对话框。
命令行
若要启用或禁用 ASP.NET 模拟,请使用以下语法:
appcmd set config /commit:WEBROOT /section:identity /impersonate:true | false
默认情况下,IIS 会将 impersonate 属性设置为 false,这会禁用 ASP.NET 模拟身份验证。 如果将此属性设置为 true,便会启用 ASP.NET 模拟身份验证。 例如,若要启用 ASP.NET 模拟身份验证,请在命令提示符处键入以下命令,然后按 Enter:
appcmd set config /commit:WEBROOT /section:identity /impersonate:true
此外,您也可以使用以下语法设置供 IIS 用于模拟的帐户:
appcmd set config /commit:WEBROOT /section:identity /userName: string /password: string
变量 userName string 是 IIS 用于模拟的帐户,变量 password string 是密码。 例如,若要使用帐户 Moe 供 IIS 进行模拟,请在命令提示符处键入以下命令,然后按 Enter:
appcmd set config /commit:WEBROOT /section:identity /userName: Moe /password: pass@word1
备注
当在 IIS 7 中使用 Appcmd.exe 配置全局级别的标识元素时,必须在命令中指定 /commit:WEBROOT,以便更改根 Web.config 文件而不是 ApplicationHost.config 中的配置。
有关 Appcmd.exe 的详细信息,请参阅 Appcmd.exe (IIS 7) 。
配置
本主题中的过程会影响以下配置元素:
<identity> ,此元素在如下元素下面: <system.web>
热心网友
时间:2023-07-04 00:48
如果你想在ASP.NET Application中加入某个定时任务,那想必一定是用一个线程在不停地做定时计算
那假设我们在自己的ASP.NET应用程序中加入了Quartz.NET框架,并且配置等等都OK了。
这个站点访问量很少,现在只有几个人上班的时候才会使用,结果第二天过来一看,后台调度的线程和计算任务都停止了,如果你抓取了Application_End事件,会发现这个事件居然被调用了。
那一定是IIS的应用程序池回收的机制在作怪了。因为IIS的默认设置里面,如果一个站点所处的应用程序池超过一段时间没有被访问或者请求,IIS就会自动回收这个程序池,并且把进程杀掉。那进程里面的线程肯定也活不下来了。
但是我们可以通过设置应用程序池参数使其不会被简单的自动回收(有些情况无法避免,比如热部署的站点,错误数量超限等等)
在IIS中找到这个站点所用的程序池,点击“高级设置...”
在打开的列表中更改以下设置:
回收——固定时间间隔(分钟) 改为 0
——虚拟/专用内存*(KB) 改为 0
进程模型——闲置超时(分钟) 改为 0
这样子,一般情况下程序池就不会被自动回收了,后台一些简单的计算线程就会正常工作