更新RemoteApp的应用程序NGEN的正确方法应用程序、正确、方法、RemoteApp

2023-09-04 07:01:24 作者:铥了情丶

我们有一个Windows2008R2 RemoteApp的.NET 4.5应用程序的RDS服务器上NGEN-ED,用约300个并发用户的3台主机的NLB群集。

We have a Windows2008R2 RemoteAPP .NET 4.5 application NGEN-ed on the RDS server, with approx. 300 concurrent users for the 3-host NLB cluster.

的应用目前正在积极开发与远程应用部署组件需要被更新时(即更换新的)经常

The application is under active development and the RemoteAPP deployed assemblies need to be updated (i.e. replaced with new ones) quite often.

我们目前如何做到这一点如下:

How we currently do this is as follows:

重命名文件的RemoteApp服务器上进行更改,与用户连接到它(OS不允许,如果加载这些文件被覆盖), 在编写新的文件,而不是旧的, NGEN安装新组件(没有先卸载旧的!), 在通知用户(通过应用程序本身)的应用程序版本已发生变化,需要重新启动, 在逐步让用户重新启动他们的步伐,应用程序(simmultaneous应用程序重启会导致更多的磁盘和CPU负荷,伤害了服务器的性能)。 因此对于集群中的所有主机。 Rename files to be changed on the RemoteAPP server, with users connected to it (OS will not allow files to be overwritten if they are loaded), Write new files instead of old ones, NGEN install new assemblies (without first uninstalling old ones!), Notify users (via app itself) that the app version has changed and it needs to be restarted, Gradually allow users to restart the app at their pace (simmultaneous app restart would result in increased disk and CPU load, hurting the server performance). And so for all hosts in the cluster.

在此之后,服务器偶尔会蓝屏,崩溃与Microsoft的Windows的内核电源事件ID 41严重错误 - 我强烈指责我们更新的做法来负责它

After this, the server would occasionally Blue-Screen-Crash with the Microsoft-Windows-Kernel-Power EventID 41 critical error - and I highly blame our update practice to be responsible for it.

因此​​,问题:什么是更新的RemoteApp程序和NGEN - 荷兰国际集团新的组件,而无需终止进程访问旧的组件(也就是允许用户继续,当他们感觉象重新启动)的推荐方法

Hence the question: what is the recommended way of updating a RemoteAPP application and NGEN-ing new assemblies without having to terminate processes accessing old assemblies (i.e. allow users to continue and restart when they feel like).

感谢你。

推荐答案

我建议使用新的应用程序初始化模块IIS 7.5和应用程序初始化加快你的web应用程序内置到IIS 8,而不是NGEN。

I recommend speeding your web apps using the new "Application Initialization Module for IIS 7.5" and "Application Initialization" is built into IIS 8 instead of ngen.

微软的网站声称:IIS应用程序初始化为IIS 7.5允许网站管理员通过加载Web应用程序的第一个请求到来之前,以提高他们的网站的响应

Microsoft's website claims: IIS Application Initialization for IIS 7.5 enables website administrators to improve the responsiveness of their Web sites by loading the Web applications before the first request arrives.

参考: http://weblog.west-wind.com/posts/2013/Oct/02/Use-IIS-Application-Initialization-for-keeping-ASPNET-Apps-alive