我有一個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