标签: application-pool

什么是IIS应用程序池?

什么是应用程序池?它的目的是什么?

asp.net iis application-pool

231
推荐指数
11
解决办法
25万
查看次数

144
推荐指数
2
解决办法
9万
查看次数

当我设置IIS池的LoadUserProfile时会发生什么?

我遇到了以下问题.

我运行以下代码

var binaryData = File.ReadAllBytes(pathToPfxFile);
var cert = new X509Certificate2(binaryData, password);
Run Code Online (Sandbox Code Playgroud)

在两个过程中.其中一个进程运行,LOCAL_SYSTEM并且此代码成功.另一个在IIS中在属于"Users"本地组的本地用户帐户下运行,在那里我得到以下异常:

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
Run Code Online (Sandbox Code Playgroud)

所以我用Google搜索了一下,找到了一个类似问题的答案.我尝试启用LoadUserProfile应用程序池,现在可以正常运行.

问题是我没有得到我设置时会发生LoadUserProfile什么以及可能产生的后果.我的意思是,如果它是一个"好"的东西那么为什么它不是默认"开启",为什么它毕竟在那里?

当我LoadUserProfile在IIS池中设置时会发生什么,它会产生什么负面影响?

.net c# iis-7 application-pool x509certificate

96
推荐指数
1
解决办法
5万
查看次数

是什么原因导致IIS中的应用程序池回收?

我一直在寻找这方面的信息无济于事.我需要这个的背景是我在这里问的另一个问题.更具体地说,在App_Data中创建/更新/删除文件会导致池回收吗?

如果有人能提供导致回收的详细清单,那就太好了.

更新:由于两个用户已经注意到我也很乐意回答指定仅回收AppDomain而不是整个池的原因.

asp.net iis application-pool

69
推荐指数
3
解决办法
7万
查看次数

重新启动(回收)应用程序池

如何从C#(.net 2)重新启动(回收)IIS应用程序池?

感谢您发布示例代码吗?

.net c# iis asp.net-mvc application-pool

66
推荐指数
7
解决办法
9万
查看次数

使用New-WebAppPool时如何设置.NET Framework版本?

我想看看如何使用IIS PowerShell Cmdlet New-WebAppPool来指定要使用的.NET Framework版本.目前,它默认为v2.0,但我使用MVC,这不起作用,因为这是一个v4.0功能.我们真的希望每个站点都有自己的应用程序池,似乎我们必须手动创建这些池,因为无法通过脚本配置它们.有没有办法自动化这个?

我担心答案是"你不能",因为文档似乎没有提供任何设置它的参数,谷歌正在蹲下; 它给我的印象是,只能以脚本方式设置站点是可以接受的,而且关于配置应用程序池的一些事情就是"没有完成".我无法想象为什么不 - 如果你是自动化过程的一个主要部分,为什么你不能自动化其他主要部分?

任何可能通过PowerShell了解如何做到这一点的人都会帮助我.

windows iis powershell application-pool .net-framework-version

61
推荐指数
1
解决办法
2万
查看次数

IIS7中的DefaultAppPool和Classic .NET AppPool有什么区别?

我在IIS中遇到超时问题.在web.config中,会话超时设置为60分钟,但在20分钟后会话结束.

此问题仅发生在IIS7中而不是IIS5中.

经过一番调查,我发现这是由于应用程序池的超时.如果应用程序池在没有执行任何操作的情况下保留20分钟,则IIS将结束会话.

如果应用程序使用defaultAppPool,则总会发生这种情况,但如果我将App Pool更改为经典的.NET App Pool,则不会发生超时.

两种模式都有空闲超时,但在DefaultAppPool中发生这种情况.

  • 为什么是这样?
  • 经典.NET AppPool和DefaultAppPool有什么区别?
  • 经典和集成之间的管道有什么区别?

iis iis-7 web-applications application-pool

50
推荐指数
2
解决办法
8万
查看次数

如何使AppDomain中的ASP.NET程序集保持活动状态?

场景:我使用Web部署项目部署了一个n层企业ASP.NET应用程序.所有层都生成ASP.NET应用程序使用的独立程序集.

问题:当我运行应用程序时.部署后第一次将相关程序集加载到内存中需要花费大量时间.但一旦加载其照明快速应用程序.如果没有用户访问该应用程序,IIS将从内存中卸载程序集,当用户尝试在以后的实例上访问该应用程序时,它会再次加载所有程序集,并且需要花费相同的时间来加载它这是第一次这样做.

我正在寻找一种解决方案,使我能够将我的程序集加载到内存中,持续覆盖程序集的易变性,以实现内存驻留.

或任何其他解决方案,让我的用户愉快地使用该应用程序解决上述问题.

asp.net iis assemblies appdomain application-pool

50
推荐指数
1
解决办法
2万
查看次数

IIS应用程序池PID

是否有人熟悉获取与进程ID关联的应用程序池的方法?我正在使用Win32_Process查询W3WP服务并返回PID现在我正在尝试获取与之关联的应用程序池.

.net iis pid application-pool

43
推荐指数
4
解决办法
4万
查看次数

IIS应用程序池 - 停止/启动与回收

我注意到在我的一个生产网络应用程序中,当我手动回收应用程序池时,基于在任务管理器中观察,回收的工作进程可能需要超过60秒以实际完全销毁.但是,如果我完全停止应用程序池,则工作进程几乎立即消失 - 在1-2秒内消失.

所以,我的问题是双重的:

a)当应用程序池被回收而不是停止时,为什么要花费这么长时间来销毁进程(更有意义的是,释放由它使用/锁定的资源); 和

b)假设我已经阻止流量被定向到服务器,是否有任何理由不停止/启动而不是回收?


编辑:
为了澄清,在我回收或停止应用程序池之前,我阻止流量被发送到有问题的服务器(服务器在负载平衡群集中,我从负载均衡器中删除服务器).因此,理论上,在我对应用程序池执行任何操作时,不应该向网站发出请求.


编辑Part Deux:
在阅读Igal的链接后,对我来说似乎很明显发生了什么.当我回收应用程序池时,新进程已启动,但由于根本没有流量,因此它没有将新进程注册为正常运行,因此在超时之前它不会关闭旧进程(即90秒).

有了这些知识,我很清楚"回收"功能专门用于在实时服务器的中游使用,并且因为我事先手动排出流量,所以我应该使用停止/启动.

iis worker-process application-pool recycle

35
推荐指数
3
解决办法
3万
查看次数