azure 网站重新启动并采用旧的 dll 版本

azure 网站重新启动并采用旧的 dll 版本

我的一个网站托管在 Windows Azure 上,当 Azure 从管理 Windows Azure 面板重新启动网站时,它会采用旧版本的 dll,并且网站将关闭,直到我们通过部署 global.asax 或更改 web.config 来重新启动该网站。

部署 global.asax 或更改 web.config 后,站点重新启动,然后它可以完美运行并获取最新的 dll。

因此,如果我的代码存在任何问题,那么通过部署 global.asax 文件重新启动后它就不应该工作,所以我认为问题不是来自代码方面。

错误如“无法从‘DSF.DATA 版本 1.0.0’加载类型‘DSF.DATA.Repository.RecurringOrderLogResposity’”

我只是使用 FTP 部署更改的 dll 并重新启动站点并成功生效

我已经解决了这个错误并且也上传了最新的 dll,但是当站点从 azure 面板重新启动时,它会返回然后站点关闭,直到我通过部署 global.asax 文件重新启动站点,所以我认为问题不是来自代码方面。

请帮帮我,我遇到了大麻烦,因为我的网站是实时网站,而且流量很大

谢谢 Vipul

答案1

我相信这是按照 .Net 的工作方式设计的。如果您上传 DLL 然后停止、启动或重新启动站点,IIS 中也会发生同样的事情,它将不会重新编译并且会耗尽缓存,因为所有内容在首次启动时都会编译到内存中。它不会再次引用这些 DLL 文件,直到进行新的编译。您通过触摸这些文件来强制重新编译,这会触发 IIS 发生某些变化并再次调用它们。

按照惯例,您应该在部署例程中上传 DLL,然后触摸 web.config,您甚至不需要停止、启动或重新启动应用程序。这有帮助吗?

-保罗·德鲁

相关内容