C# 启动时验证WCF服务

C# 启动时验证WCF服务,c#,iis,wcf,C#,Iis,Wcf,拥有托管在IIS中的WCF服务,我想验证配置设置是否有效,例如日志目录是否存在或是否可以创建。如果配置失败,我想考虑服务无效,并通过事件日志通知等。理想情况下,如果无效,服务将不可用。 如果我作为windows服务托管,我可以很容易地做到这一点。但是托管在IIS中?我不知道有什么好方法可以通过代码使服务不可用 有什么想法吗?如果有帮助,WCF服务将在其自己的应用程序池中运行 蒂亚! James如果抛出异常,服务将不可用。因此,在您的服务的构造函数中进行检查,如果一切都是完美的,如果没有抛出异常,

拥有托管在IIS中的WCF服务,我想验证配置设置是否有效,例如日志目录是否存在或是否可以创建。如果配置失败,我想考虑服务无效,并通过事件日志通知等。理想情况下,如果无效,服务将不可用。 如果我作为windows服务托管,我可以很容易地做到这一点。但是托管在IIS中?我不知道有什么好方法可以通过代码使服务不可用

有什么想法吗?如果有帮助,WCF服务将在其自己的应用程序池中运行

蒂亚!
James

如果抛出异常,服务将不可用。因此,在您的服务的构造函数中进行检查,如果一切都是完美的,如果没有抛出异常,服务将不存在。如果关闭远程错误,则浏览服务将显示错误和堆栈跟踪。

在服务中有一个名为test的私有方法,如果logging目录不存在或无法创建等,该方法将返回布尔值false


从服务的构造函数调用此测试方法。如果该方法返回false,则发送一条明确的信息,表明服务已关闭。

其他海报建议从服务的构造函数中抛出。这种方法可以很好地工作,但可能更好的方法是实现定制ServiceHostFactory(http://msdn.microsoft.com/en-us/library/aa702697.aspx)并在CreateServiceHost方法中执行验证。这样做的好处是,您的验证错误将成为“服务无法激活”错误报告和HTML页面的一部分。

它确实是这样做的。仍在试图找出如何在客户端处理该场景