我正在使用自定義配置文件在裝配庫內調用WCF服務。 WCF服務在Citrix Xen Server環境中運行,這可能是問題的原因。使用具有自定義配置路徑的wcf服務
我已經設置了一個控制檯應用程序,它引用程序集庫並調用該庫中的一個公共方法,該方法連接到WCF服務端點,並顯示Win窗口數據網格內WCF函數調用派生的數據。
現在我設定一個由組件庫中顯示的贏窗體類的E2ADokumente'的構造函數中的當前應用程序域的配置路徑:
var assembly = Assembly.GetAssembly(typeof(E2ADokumente));
var assemblyFilePath = assembly.Location;
var assemblyDirectory = Path.GetDirectoryName(assemblyFilePath);
var dllName = assembly.GetName().Name + ".dll.config";
string configPath = Path.Combine(assemblyDirectory, dllName);
AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", configPath);
的WCF代理是建立像這樣:
WSTrustChannelFactory channelFactory = new WSTrustChannelFactory("STSEndpunkt")
「STSEndpunkt」是端點的名稱,在配置文件中定義。
如果我在本地運行代碼,但如果我在終端服務環境中運行相同的應用程序,配置文件將不會被找到,所有的作品。錯誤消息指出無法找到「STSEndpunkt」。
它在終端服務環境中工作,但是如果我在新的應用程序域內運行裝配庫。但是通過反射來創建單獨的圖層和調用方法會帶來很多開銷,所以我正在尋找更簡單的解決方案。
如何在終端服務中運行的程序集庫中爲WCF配置詳細信息設置配置文件的路徑?
在代碼中構建WCF通道設置不是一個選項。