我想在启动Web服务时只执行一次代码。
我想使用void Application_Start(object sender, EventArgs e)
,但我的代码
`Request.ServerVariables["SERVER_SOFTWARE"];`
我得到异常Request is not available in this context
似乎对象可能不存在,因为应用程序刚刚启动而不处理请求。
知道如何解决这个问题吗? 我如何只执行一次代码。
答案 0 :(得分:3)
使用初始化为false
的静态布尔字段来标记函数是否被调用,并将其设置为true
调用它(最好在函数结束时完成)。
如果值为false
,则仅执行函数中的代码。
通过适当的锁定来避免可能的竞争条件(感谢Yahia)。