如何在Web服务上仅执行一次自定义代码功能

时间:2011-10-29 19:07:01

标签: c# .net web-services iis

我想在启动Web服务时只执行一次代码。 我想使用void Application_Start(object sender, EventArgs e),但我的代码

`Request.ServerVariables["SERVER_SOFTWARE"];`

我得到异常Request is not available in this context似乎对象可能不存在,因为应用程序刚刚启动而不处理请求。

知道如何解决这个问题吗? 我如何只执行一次代码。

1 个答案:

答案 0 :(得分:3)

使用初始化为false的静态布尔字段来标记函数是否被调用,并将其设置为true调用它(最好在函数结束时完成)。

如果值为false,则仅执行函数中的代码。

通过适当的锁定来避免可能的竞争条件(感谢Yahia)。