我有一个很大的(对我来说)ASP.NET(4.5框架)应用程序,在VS2012开发和发布时工作正常。
我已经从VS2012升级到VS2013并且我没有问题地打开了解决方案,它在本地运行正常(在IIS Express上)。
我不知道这是不是红鲱鱼,但是我第一次使用NuGet来更新AJAX Control Toolkit(及其依赖项),它似乎已经有效了。
当我将网站发布(文件系统发布)到我们的Web服务器(Windows Server 2012中的IIS 8)时,它会加载正常的UNTIL我将<compilation defaultLanguage="vb" debug="true" targetFramework="4.5">
更改为debug="false"
。
当我这样做时,该网站像猪一样运行,有时页面甚至没有加载,并且它的IIS工作进程占用CPU并持有,以百分比增长,直到它消耗基本上所有的CPU。
编辑:这发生在服务器和我的电脑上(IIS Express)
此测试网站的AppPool运行时与我们的实时网站的AppPool具有相同的设置。值得注意的是:
我希望您需要更多信息,但老实说我不知道从哪里开始,我不想用不必要的细节来压倒。
提前谢谢
我为我的解决方案中的每个项目都得到了这个:
(0,0): warning : The following assembly has dependencies on a version of the .NET Framework that is higher than the target and might not load correctly during runtime causing a failure: [projectname], Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. The dependencies are: Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a. You should either ensure that the dependent assembly is correct for the target framework, or ensure that the target framework you are addressing is that of the dependent assembly.
编辑:看来我继承的这个解决方案是一个网站SITE而不是APP。我不知道是否会发挥作用。
答案 0 :(得分:7)
我最终不得不打电话给微软。他们使用 ProdDump 和 LogMan 来分析发生了什么。不到24小时就回到我身边说:
“线程19似乎非常糟糕地陷入了CPU的压力 堆栈表明AjaxMin试图在a上执行FindEntry Dictionary对象和这是从AjaxControlToolKit触发的, 特别是似乎有一些“CombineScripts”属性 在主页面或设计页面中定义 OrderDetails.aspx。基本上这结合了所有JS文件和 缩小他们。
快速测试将禁用CombineScript的逻辑 AjaxControlToolKit,看看是否能提高性能“
Google告诉我 CombineScripts 是 ToolkitScriptManager 的一个属性,因为AJAX始终是一个嫌疑人(没有真正的理由,只是预感)我跳了上去。 / p>
果然,更改我对 ToolkitScriptManager 的引用,以包含 CombineScripts =“false”完全 修复了问题 !
<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" CombineScripts="false" ScriptMode="Release" />
相关文章: 我不是唯一的一个:https://www.google.ca/#q=ToolkitScriptManager+combinescripts+problem
两个有用的帖子: http://forums.asp.net/t/1696523.aspx http://ajaxcontroltoolkit.codeplex.com/workitem/27558
答案 1 :(得分:0)
在项目项目属性中检查对旧版Ajax控件工具包的任何引用。如果找到任何,然后删除它,然后再试一次。
答案 2 :(得分:0)
当我使用nuget时,我有时会犯同样的错误。我认为冲突是你的web.config程序集引用。请比较您的dll参考和web.config参考。
答案 3 :(得分:0)
尝试将应用程序池的.Net版本更改为v4.0