0

我有一个应用程序 (app1) 表现出奇怪的行为,在此处进行了描述。我在 IIS 中创建了另一个与 app1 具有相同路径的应用程序 (app2)。它“工作”,因为它没有抛出基础错误,但是由于“无效参数”而无法加载某些资源,而且它无法加载 jQuery。

我做了一个测试,因为我很好奇。我将另一个现有应用程序的路径 (app3) 修改为路径 app1。它就像 app2 一样“工作”,但存在无法识别资源和无法识别 jQuery 的问题。

这种行为的原因是什么?如何修复我的应用程序?有没有解决这个问题的方法,还是我应该把头发拔掉?

预先感谢您的任何帮助,

最好的祝福,

拉霍斯阿尔帕德。

4

1 回答 1

1

带有 ASP.NET 的 IIS 使用临时文件夹为未编译的代码/aspx 文件/任何东西编译 dll。严格来说,IIS 不会在这里做任何事情。它(可能)是 asp.net 工作进程调用所有必要的编译器等的工作,但不要引用我的话。

当您访问新应用程序时,除非它是完全预编译的,否则可能需要根据需要编译一堆代码。很少,这个过程会搞砸。

如果您的网站使用 NuGET 来获取更新的 dll,就像至少一个或多个开源 CMS 所做的那样,我发现,这可能也必须处理,尽管据我所知,这些只是被下载到应用程序的bin文件夹. 有时,如果您移动文件,该过程也会中断。

因此,可能会发生各种可能会中断的事情,而您获得的异常可能是最通用的异常之一。如果没有堆栈跟踪,它不太可能有帮助。

通过这个问题(无法加载文件或程序集 App_Licenses),解决这两个问题的方法可能只是删除临时文件,尽管投票最多的解决方案(截至 2012 年 10 月 27 日)有点极端:您应该只需要删除您关注的应用程序的临时文件,而不是每个应用程序的每个临时文件。清理和重建您的应用程序也可能有效,只需重新启动与网站关联的 AppPool。

于 2012-10-28T02:57:52.547 回答