我有点困惑,因为我正在检索与我的情况无关的信息。
简而言之,我在VS2008(.NET 3.5sp1)中创建了一个新的WCF服务应用程序。在项目中,我有Service.svc文件(加上service.svc.cs),IService.cs,最后是web.config文件。 我编写了自己的方法,并根据需要修改了web.config文件以获取REST服务,一切正常。但是现在我需要设置logger对象(特别是log4net对象),我开始想知道正确的初始化位置。
这是我不明白的事情。在互联网上搜索信息,我发现许多文章都在谈论应用程序文件(作为global.asax),或者在Main方法中进行初始化,创建ServiceHost对象。
我的解决方案中没有这样的文件,因此我的困惑就出现了。我创建了错误的项目类型吗?或者只是添加global.asax文件就足够了?什么是进行此类操作的正确位置(初始化......)?
答案 0 :(得分:2)
您可以通过右键单击项目将global.ascx / global.ascx.cs文件添加到WCF项目中,选择添加文件,然后选择“全局应用程序类”。
初始化的“正确位置”取决于您希望如何以及何种日志记录。如果您只有一个记录器并且没有基于端点等进行记录,那么在应用程序中的某个地方(即静态构造函数)静态初始化它没有任何害处。然后在应用程序中的任何地方使用此记录器(只是不要公开set方法)。