我的一个网站托管在 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,您甚至不需要停止、启动或重新启动应用程序。这有帮助吗?
-保罗·德鲁