我試圖允許用戶配置WCF服務,包括服務偵聽的IP和端口號。用戶有一個單獨的配置應用程序,允許設置這些值,但我遇到的問題是,app.config必須定義一個端點以創建一個新的ServiceHost條目......但我的端點正在在單獨的配置文件中定義,然後必須在運行時以編程方式進行綁定。如何以編程方式爲WCF服務設置單個端點
如果我這樣做(基於How to programatically modify WCF app.config endpoint address setting?:
m_SvcHost = new ServiceHost(this);
if (Config.ServiceEndpoint != null && Config.ServiceEndpoint != String.Empty)
{
m_SvcHost.AddServiceEndpoint(typeof(IMyService),
new BasicHttpBinding(),
Config.ServiceEndpoint);
}
m_SvcHost.Open();
該服務將聽取雙方在App.config中定義的URI和配置文件中定義的URI沒有辦法說。我可以找到刪除原始端點或在沒有定義端點的情況下創建服務
從配置應用程序寫入app.config不是一個選項 - 我需要從單獨的XML配置中以編程方式提取配置的值檔案....
有什麼想法?
編輯:運行服務作爲Windows服務,並公開HTTP端點,它不運行在IIS託管的Web服務 - 如果,在所有
我的問題是我希望服務只響應通過配置應用程序配置的IP /端口,而不是app.config中列出的URI ......但我無法刪除應用程序中的端點配置。配置,否則我不能實例化一個新的ServiceHost條目(因爲當時沒有配置端點) – JustinD 2010-01-13 20:12:19