繁体   English   中英

在WCF服务应用程序项目中初始化?

[英]Initialize in WCF Service Application Project?

我有一个库定义了一些静态变量,如数据库地址,一些静态方法,进行数据格式化。

我的WCF服务将使用该库并打开数据库连接。 问题是,此库中的静态变量(如数据库地址)未初始化,并且必须通过在应用程序启动时读取服务器上的文件进行初始化。

在ASP.NET中我可以初始化Global.asax的Application_Start中的所有内容,在Silverlight的Client端我可以初始化App.xml的Application_Startup中的所有内容。 但是我如何在WCF服务应用项目中初始化?

这个WCF服务应用程序将与Silverlight一起使用,可能包含多个WCF服务,如果我在WCF服务构造函数中初始化,那么我必须对每个服务执行相同的操作....

提前致谢,

有多种方法可以做到这一点。 您可以:

  1. 使用自定义ServiceHostFactory在创建ServiceHost之前初始化库。
  2. 在ServiceLibrary中的一个类中使用静态构造函数(请参阅http://msdn.microsoft.com/en-us/library/k9x6w0hc.aspx ),并确保这是一个以某种方式被访问的类型(因为这会调用静态构造函数)之前需要使用需要初始化的库。
  3. 创建一个执行初始化的自定义WCF ServiceBehavior,并将其应用于ServiceLibrary中的所有相关服务。 (恕我直言,最优雅的方式...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM