标签: iis-8

IIS自动启动不禁用空闲超时

我在Windows Azure Web角色上设置了ASP.NET自动启动(我在Windows Server 2012上使用ASP.NET 4.5和IIS 8).我基本上遵循了这些指示.

我通过webrole的OnStart方法startMode="AlwaysRunning"在应用程序池和preloadEnabled="true"网站上进行设置.

我使用远程访问并验证这两个属性是否已正确设置(通过IIS管理器,以及检查applicationHost.config文件).

我还将此添加到web.config文件中:

<applicationInitialization skipManagedModules="true">
  <add initializationPage="/" />
</applicationInitialization>
Run Code Online (Sandbox Code Playgroud)

页面显示启用自动启动时应禁用空闲超时.但是,我可以从我的日志中看到它不是,应用程序池在一些不活动后重新启动.我还可以在事件日志中看到(多次超过6小时):

随着"77​​2"服务应用程序池"cf9d3284-6454-4bbf-8a8e-efd73df4ed83"进程ID工作进程被关闭,由于闲置.应用程序池超时配置设置为20分钟.必要时将启动新的工作进程.

奇怪的是,它似乎是一个新的应用程序池,这是记录后立即启动,即使该网站没有任何请求.所以,如果我没有在一小时内获得一个请求,我们的应用程序池被回收并重新启动3次(我证实了这一点从日志).我的配置不正确还是我错过了什么?

asp.net iis azure iis-8

11
推荐指数
2
解决办法
4705
查看次数

如何在IIS 8.5中更改会话超时?

我在Windows Server 2012 R2上的IIS 8.5中,我想看看会话超时是什么.

在"功能视图"下,我看到一个会话类别,所以我打开它.会话状态设置为进程中.在窗口的下方,我看到了设置超时的选项,但它们是用于cookie的.我查看了应用程序池,看到空闲超时设置为20分钟:这是会话超时吗?我已经习惯了IIS 7,点击"ASP"功能并将其设置在那里.

iis-8

11
推荐指数
2
解决办法
6万
查看次数

MVC 4. IIS 7.5 PUT返回405

我正在尝试在MVC 4应用程序中使用PUT,我收到405错误.

在我的路由中,我对允许PUT和POST的路由有约束,POST到端点工作,PUT失败了405.

我已经按照这里的建议ASP.NET Web API仅在某些服务器上返回404 for PUT,这里ASP.NET MVC在HTTP DELETE请求上得到405错误?

我也从IIS中删除了WeDAV,但我仍然得到了405.任何人还有其他建议吗?

我在IIS 8(使用Visual Studio 2012)上也遇到了完全相同的问题,因为我遵循了这个建议ASP.NET Web API - PUT&DELETE动词不允许 - IIS 8仍然没有运气

asp.net-mvc http-put iis-7.5 http-status-code-405 iis-8

10
推荐指数
2
解决办法
5447
查看次数

IIS 8 - 默认文档 - 找不到资源

我试图理解为什么在浏览虚拟目录时我的默认文档没有出现.如果我像我应该那样浏览网站,我会得到这个:

在此输入图像描述


但是,如果我将页面添加到URL,它会出现:

在此输入图像描述


一个SO答案建议删除除真实文档之外的所有默认文档(在IIS中).我尝试过(图片如下),但没有帮助.

在此输入图像描述


使用根URL(http://localhost/SignalRChat)时,为什么IIS不会提供该页面?

删除默认文档后,这是web.config的相关部分:

<defaultDocument>
    <files>
        <remove value="default.aspx" />
        <remove value="iisstart.htm" />
        <remove value="index.html" />
        <remove value="index.htm" />
        <remove value="Default.asp" />
        <remove value="Default.htm" />
        <add value="ChatPage.cshtml" />
    </files>
</defaultDocument>
Run Code Online (Sandbox Code Playgroud)

这是处理程序部分:

<handlers>
  <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
  <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
  <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
  <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*."
       verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
       modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll"
       preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
  <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*."
       verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
       modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
       preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
  <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*."
       verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler"
       preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
Run Code Online (Sandbox Code Playgroud)

.net asp.net iis asp.net-mvc-4 iis-8

10
推荐指数
1
解决办法
6702
查看次数

IIS 8.0中内核模式和用户模式缓存之间的区别

内核模式缓存和用户模式缓存之间有什么区别以及如何跟踪它们?

asp.net caching http.sys iis-8

10
推荐指数
1
解决办法
5913
查看次数

如何在域和子域之间共享cookie,但不在其他子域之间共享cookie

我们的ASP.NET MVC Web应用程序有一些我们用于测试和遗留代码的不同子域.子域名是:

  1. www.sitename.com(生产现场)
  2. test.sitename.com(测试)
  3. original.sitename.com(遗留代码)
  4. staging.sitename.com(偶尔用于在部署之前进行测试)

我们故意使用不使用域级cookie的表单身份验证,因为我们希望cookie在这些不同的子域中是唯一的.问题是,当人们获得到根域(sitename.com)的链接时,它需要他们再次登录才能获得cookie,即使他们已经登录到www.sitename.com.

是否有共享的cookie的办法只有没有其他子域www.sitename.com和sitename.com受到影响?

asp.net cookies subdomain iis-8

10
推荐指数
2
解决办法
1035
查看次数

使用InstallAware部署Webservice

我已经创建了WCF Web服务并使用InstallAware创建了设置,以便我们的客户只需运行安装程序,它将在IIS中部署Web服务.我的设置在IIS中的"默认网站"下创建虚拟目录.一切正常,我的设置在"默认网站"下创建虚拟目录并指向正确的路径,但只有在设置完成之前它才会出错.以下是在IIS中创建虚拟目录的代码.

if Variable SUCCESS not Equals ERROR
    if Variable SUCCESS not Equals CANCEL
      Run Program $SUPPORTDIR$\InsertToken1.bat  (WAIT)
      Get IIS Index for Site "Default Web Site" into DEFAULTWEBSITEINDEXVAR
      Create Virtual Folder "WebService" in IIS Site #$DEFAULTWEBSITEINDEXVAR$, pointing to physical location $WWWROOTDIR$WebService
      Get System Setting IIS Anonymous User Account into INETUSR
      Set Read Permissions on File System Object "$WWWROOTDIR$\WebService" for $INETUSR$
    end
  end
Run Code Online (Sandbox Code Playgroud)

在调试MSI代码后,我发现当后续行执行时会给出错误

Create Virtual Folder "WebService" in IIS Site #$DEFAULTWEBSITEINDEXVAR$, pointing to physical location $WWWROOTDIR$WebService
Run Code Online (Sandbox Code Playgroud)

它给出了以下错误

在此输入图像描述

iis windows-installer web-services installaware iis-8

10
推荐指数
1
解决办法
685
查看次数

禁用TLS 1.0会破坏ASP.NET应用程序

在Windows Server 2012R2上运行

我试图在IIS上禁用TLS 1.0,因为客户端有一个站点扫描程序,突出显示这是一个安全问题.

我有一个干净的测试服务器设置和应用程序正常运行,直到我禁用TLS 1.0.

我更新了所有适当的设置:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000
Run Code Online (Sandbox Code Playgroud)

在事件查看器中,我得到:

生成致命警报并将其发送到远程端点.这可能导致连接终止.TLS协议定义的致命错误代码为70.Windows SChannel错误状态为105.

如果我还原TLS 1.0(启用,而不是DisabledByDefault)的注册表设置,一切都很好.

在system.web中使用:

<httpRuntime targetFramework="4.7.2" />
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

asp.net ssl iis-8 windows-server-2012-r2

10
推荐指数
2
解决办法
7585
查看次数

ServerManager.OpenRemote的凭据

我正在尝试使用ServerManager.OpenRemote(来自Microsoft.Web.Administration),但无法找到有关如何从当前用户提供不同凭据的文档.我尝试过SimpleImpersonation(来自你如何在.NET中进行模拟?)它给了我同样的错误:

System.UnauthorizedAccessException - 由于以下错误,从机器[...]检索具有CLSID {2B72133B-3F5B-4602-8952-803546CE3344}的远程组件的COM类工厂失败:80070005 [...]."

远程计算机上的防火墙已关闭.UAC已禁用.

security impersonation iis-7.5 iis-8

9
推荐指数
1
解决办法
7643
查看次数

VS.NET 2015 ENT Web部署ASP.NET Core 1错误ERROR_USER_UNAUTHORIZED?

我已在具有新站点的本地Windows 2012服务器上设置了Web部署.

我已在IIS服务器级别和站点级别通过IIS管理器权限设置管理员权限.

我为MySiteApp创建了一个应用程序池和一个虚拟目录.

My Web Deploy在VS.NET 2015上发布设置:

服务器:192.168.45.60站点名称:TestSite/MySiteApp用户名:TESTSERVER\Administrator

验证发布配置文件上的连接传递确定.

添加True到.pubxml

尝试发布到服务器时,我收到错误:

错误错误:远程服务器返回错误:(401)未经授权.错误代码:ERROR_USER_UNAUTHORIZED

在Windows Server 2012事件查看器中,我可以看到此错误:

IISWMSVC_LOGIN_UNKNOWN_ERROR

检索登录信息时发生意外错误.

异常:System.Runtime.InteropServices.COMException(0x8007000D):站点名称无效

Microsoft.Web.Administration.SiteCollection.get_Item(String)上的Microsoft.Web.Administration.Interop.IAppHostProperty.set_Value(Object value)at Microsoft.Web.Administration.ConfigurationElementCollectionBase`1.FindElementWithCollectionKey(String elementName,String collectionKey,Object value)在Microsoft.Web.Management.Server.WebManagementHttpModule的Microsoft.Web.Management.Server.ApplicationManagementUnit..ctor(IManagementContext context,String siteName,String applicationPath)上的Microsoft.Web.Management.Server.ApplicationManagementUnit.EnsureDefinition()处. Microsoft.Web.Management.Server.WebManagementHttpModule.OnApplicationPostAuthorizeRequest(Object sender,EventArgs e)中的CreateManagementUnit(HttpRequest请求)

进程:WMSvc User = TESTSERVER\Administrator

如果我在.pubxml更改如下:

<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>

<MSDeployPublishMethod>RemoteAgent</MSDeployPublishMethod>
Run Code Online (Sandbox Code Playgroud)

并添加 <AuthType>NTLM</AuthType>

然后我就可以毫无问题地发布了.

我想我没有正确设置WMSVC发布的东西.

谢谢你的帮助.

阿萨夫

webdeploy iis-8 visual-studio-2015 asp.net-core

9
推荐指数
1
解决办法
816
查看次数