从WCF服务读取全局应用程序属性

时间:2012-02-15 16:15:20

标签: c# wcf global-asax

我在Global.asax类中使用对象Application来存储数据。

Application.Set("data", "test");

现在,在我的WCF服务中,我希望能够阅读此属性。我怎么能这样做?

Application["data"];

在调试中,我可以看到我的global.asax被调用(Begin_Request),但在我的webservice方法中,我如何访问应用程序

2 个答案:

答案 0 :(得分:4)

var yourData=HttpContext.Current.Application["data"];

请记住,无论如何,如果您将在服务器场上部署服务,您可能会遇到问题,因为应用程序是inProc并且每个服务器都有自己的应用程序变量

答案 1 :(得分:4)

为了让HttpContext.Current与wcf一起工作,你必须启用兼容性:

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>

然后你可以访问Massimiliano Peluso建议:

// in the wcf service
var yourData=HttpContext.Current.Application["data"];