我有在IIS中超时的问题。 在web.config中,会话超时设置为60分钟,但20分钟后会话结束。 此问题只发生在IIS7中,而不是在IIS5中。 经过一番调查,我发现这是由于应用程序池的超时。 如果应用程序池闲置20分钟,IIS会结束会话。 如果应用程序正在使用defaultAppPool,则始终会发生这种情况,但如果将App Pool更改为传统的.NET App Pool,则不会发生超时。 两种模式都有空闲超时,但只有在DefaultAppPool发生这种情况。 为什么是这样? 是一个经典.NET AppPool和DefaultAppPool之间的区别是什么? Classic和Integrated之间有什么不同?
我正在查看如何使用IIS PowerShell Cmdlet New-WebAppPool来指定要使用的.NET Framework的版本。 目前,它默认为v2.0,但是我使用的是MVC,这是行不通的,因为这是v4.0的一个特性。 我们真的希望每个站点都拥有自己的应用程序池,因为无法通过脚本来configuration它们,所以我们似乎必须手动创build这些池。 有什么办法可以自动化吗? 恐怕答案将是“你不行”,因为文档似乎没有提供任何设置参数,而Google正在蹲下; 它给我的印象是只能以脚本方式设置网站是可以接受的,关于configuration应用程序池的事情只是“没有完成”。 我不可能想象为什么不能 – 如果你将过程的一个主要部分自动化,为什么不能自动化另一个主要部分呢? 任何人都可以通过PowerShell了解如何做到这一点,这将大大帮助我。
如何从C#(.net 2)重新启动(回收)IIS应用程序池? 感谢您发布示例代码?
我一直在寻找这方面的信息无济于事。 为什么我需要这个背景是我在这里问的另一个问题 。 更具体地说,在App_Data中创build/更新/删除文件会导致池回收? 如果有人可以提供一个回收的详细清单,这将是很好的。 更新 :作为两个用户已经注意到,我也很乐意回答指定回收AppDomain的唯一原因,而不是整个池。
我遇到了以下问题。 我运行下面的代码 var binaryData = File.ReadAllBytes(pathToPfxFile); var cert = new X509Certificate2(binaryData, password); 在两个过程中。 其中一个进程在LOCAL_SYSTEM下运行,并且代码成功。 另一个运行在属于“用户”本地组的本地用户帐户下的IIS,在那里我得到以下exception: System.Security.Cryptography.CryptographicException Object was not found. at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr) at System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromBlob(Byte[] rawData, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx) at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromBlob(Byte[] rawData, Object password, X509KeyStorageFlags keyStorageFlags) at System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(Byte[] rawData, String password) //my code here 所以我Googlesearch了一下,发现了一个类似的问题的答案 。 我试图为应用程序池启用LoadUserProfile ,现在它工作。 问题是当我设置LoadUserProfile时会发生什么,以及可能会产生什么后果。 我的意思是,如果这是一个“好”的东西,那么为什么它不是默认的“开”,为什么它在那里呢? […]
如果我将空闲超时设置为0,它将被禁用吗?
什么是应用程序池? 它的目的是什么?
场景:我已经使用Web部署项目部署了一个n层企业ASP.NET应用程序。 所有层都生成ASP.NET应用程序使用的独立程序集。 问题:当我运行应用程序。 在部署之后第一次需要花费很多时间在内存中加载相关的程序集。 但一旦加载它的照明快速应用程序。 如果没有用户访问应用程序,IIS将从内存中卸载程序集,并且当用户试图在稍后的实例上访问该应用程序时,它将继续加载所有程序集,再次花费相同的时间加载它需要这样做的第一次。 我正在寻找一个解决scheme,使我能够将我的程序集永久地加载到内存中,覆盖程序集对存储器驻留的不稳定性。 或任何其他的解决scheme,让我的用户愉快地使用应用程序解决上述问题。
我们的ASP.NET 2 Web应用程序非常优雅地处理exception。 我们在Application_Error中的Global ASAX中捕获exception。 从那里我们loggingexception,我们向用户显示一个友好的信息。 不过,今天早上我们部署了我们网站的最新版本。 它运行了半个小时,但是App Pool崩溃了。 在我们恢复之前的版本之前,网站没有恢复。 我如何使应用程序池崩溃,并跳过正常的exception处理程序? 我试图复制这个问题,但目前还没有运气。 更新 :我们find了解决scheme。 我们的其中一页是屏幕上的另一个页面。 但是URLconfiguration不正确,页面无限地屏蔽了自己 ,从而导致了堆栈溢出exception。