Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net w3wp.exe一直在读取我的.compiled文件_Asp.net_.net 4.0_Iis 6_Aspnet Compiler - Fatal编程技术网

Asp.net w3wp.exe一直在读取我的.compiled文件

Asp.net w3wp.exe一直在读取我的.compiled文件,asp.net,.net-4.0,iis-6,aspnet-compiler,Asp.net,.net 4.0,Iis 6,Aspnet Compiler,我们正在IIS6上运行一个asp.net网站。我们刚从.Net3.5迁移到.NET4.0。 在构建过程中,我们使用aspnet\u编译器te precompile和aspnet\u merge来合并程序集 转换到.NET4.0后,我们进行了性能测试。这表明4.0版本比3.5版本慢得多 我们注意到,对于每个分页服务器,w3wp.exe进程都从网站的/bin目录中读取.compiled文件(即resultlistpage.aspx.cf9ca39a.compiled)。它不仅从bin目录中读取.co

我们正在IIS6上运行一个asp.net网站。我们刚从.Net3.5迁移到.NET4.0。 在构建过程中,我们使用aspnet\u编译器te precompile和aspnet\u merge来合并程序集

转换到.NET4.0后,我们进行了性能测试。这表明4.0版本比3.5版本慢得多

我们注意到,对于每个分页服务器,w3wp.exe进程都从网站的/bin目录中读取.compiled文件(即resultlistpage.aspx.cf9ca39a.compiled)。它不仅从bin目录中读取.compiled文件,而且还为页面上的每个控件读取相应的.compiled文件(如resultlist.ascx.639c3968.compiled)。对于每个页面请求都会发生这种情况

我使用Sysinternals进程监视器来查看这一点

这些aspx和ascx文件实际上是MVC2视图

我试图在IIS6中关闭.aspx en.ascx的“验证文件存在”选项,但这没有帮助。此外,我还打开了应用程序的“缓存ISAPI扩展”复选框,但没有任何效果

我们的3.5版本没有显示这种行为。它只加载一次.compiled文件,然后缓存它

迫不及待,我如何告诉IIS6不要为每个请求读取.compiled文件


我们将转向IIS7,但不会很快。

嗯……我一直认为IIS必须检查.compiled文件,因为它包含源代码的哈希;否则,它如何确定您是否同时更改了文件?无论如何,如果此行为已在3.5和4.0之间合法更改,您可以检查:

您是否在预编译阶段指定了“可更新的”?如果是这样,那可能就是问题所在


您可以尝试的另一件事是指定“fixednames”,它将吐出完全命名的DLL,这至少会让您确切地知道哪些文件正在被持续检查。

嗯……我一直认为IIS必须检查.compiled文件,因为其中包含源的哈希;否则,它如何确定您是否同时更改了文件?无论如何,如果此行为已在3.5和4.0之间合法更改,您可以检查:

您是否在预编译阶段指定了“可更新的”?如果是这样,那可能就是问题所在

您可以尝试的另一件事是指定“fixednames”,它将输出完全命名的DLL,这至少会让您确切地知道哪些文件正在被持续检查