我有一个非常庞大(对我来说)的ASP.NET应用程序(4.5框架),在使用VS2012进行开发和发布时运行良好。
后来我从VS2012升级到了VS2013,没有任何问题地打开解决方案,并在本地(使用IIS Express)正常运行。
我不知道这是不是离题,但我首次使用NuGet更新了Ajax Control Toolkit(及其依赖项),似乎已经成功了。
当我将网站发布到我们的Web服务器(Windows Server 2012上的IIS 8)时,它会很好地加载,直到我将<compilation defaultLanguage="vb" debug="true" targetFramework="4.5">
更改为debug="false"
为止。
执行此操作后,该站点运行缓慢,有时页面甚至无法加载,并且其IIS工作进程会占用CPU并保持增长,最终消耗掉几乎所有CPU。
编辑:这在服务器和我的PC上(IIS Express)都会发生
此测试站点的AppPool使用与我们现场站点的AppPool相同的设置。值得注意的是:
- 启用32位应用程序:True
- .NET Framework版本:v4.0
- 托管管道模式:集成
我希望您需要更多信息,但老实说,我不知道从哪里开始,也不想用不必要的细节压倒人。
先谢谢您了。
编辑:我真的应该提到这一点:
在发布时以Release模式对网站进行预编译。以前在我的开发环境中,我从未必须在发布之前更改为debug = false。
我的解决方案中的每个项目都会出现此问题:
(0,0): 警告 : 下列程序集依赖于一个比目标版本更高的 .NET Framework 版本,可能在运行时无法正确加载导致失败:[项目名称],Version=1.0.0.0, Culture=neutral, PublicKeyToken=null。这些依赖项是:Microsoft.VisualBasic,Version=10.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a。你应该确保相关程序集适用于目标框架,或确保你正在处理的目标框架是相关程序集所需的。
编辑:看起来我继承的解决方案是网站而不是应用程序。我不知道这是否有影响。