我有一个IIS托管的WCF服务,我需要向其添加端点行为。我不能将它添加到web.config。 (我们需要支持的插件架构和插件的开发者将无法访问我的web.config)。我试图把这个在静态构造函数的服务:如何添加端点行为以打开IIS托管的WCF服务
var endpointDispatcher = OperationContext.Current.EndpointDispatcher;
SilverlightFaultMessageInspector inspector = new SilverlightFaultMessageInspector();
endpointDispatcher.DispatchRuntime.MessageInspectors.Add(inspector);
但它抛出一个异常,说:“这在ServiceHost打开后无法更改值。“如果在添加检查器对象之前调用host.Close(),它仍会抛出相同的异常。
我尝试这样做,以及:
var host = OperationContext.Current.Host;
host.Description.Endpoints[0].Behaviors.Add(new SilverlightFaultBehavior());
但它似乎没有任何效果。端点行为永远不会被调用。
那么是否可以将端点行为添加到IIS托管的WCF服务?
拉迪斯拉夫是对的。我还发现以下页面对此主题很有帮助:[MSDN:Custom Service Host](http://msdn.microsoft.com/zh-cn/library/aa395224%28v=VS.90%29.aspx)[MSDN: ServiceHostFactory类](http://msdn.microsoft.com/en-us/library/system.servicemodel.activation.servicehostfactory%28v=VS.90%29.aspx#Y228) – 2011-08-15 19:54:27