确定代码是否在C#中更改

时间:2018-02-11 04:38:31

标签: c# asp.net deployment publishing

我们在C#中有一个ASP.NET MVC网站,当他们发布新代码时,他们通常不会重启Web服务器。这可能会导致问题,因为某些代码更改可能会假定在App_Start中调用的新代码被触发,或者静态变量中的某些查找值可能会因代码更改而过时。

我正在考虑解决此问题的方法是将静态变量设置为AssemblyName.Version。然后在任何Web请求中,我都会检查AssemblyName.Version对静态变量的代码,如果它不同,它会更新该静态变量并运行某些代码来刷新缓存并执行通常由App_Start运行的某些任务。 / p>

我想知道的是,是否有更好的方法来处理这个问题。当然这是一种常见的情况,所以我很好奇其他人是如何处理这个问题的。

1 个答案:

答案 0 :(得分:1)

将版本号或其他内容放在web.config文件中。这将触发ASP.NET运行时重新启动应用程序。你不需要对它做任何事情,只要它在那里并且它与之前的web.config不同,它就能完成这项工作。

但我仍然认为你应该告诉你的部署让他们一起行动;你不能照顾他们。如果他们的工作是部署,他们应该知道如何去做。遗忘不是一个好理由。