![](/img/trans.png)
[英]WCF Unit Testing Results in a System.ServiceModel.FaultException
[英]Self-Hosting WCF and System.ServiceModel.FaultException
我有一個簡單的WCF服務庫項目(稱為項目W),在目錄X中帶有少數DLL。我將W的啟動目錄設置為X,所有方法都可以在Visual Studio 2010中使用WcfServiceHost正常工作。
我想自托管W,因此,我創建了一個控制台項目(稱為Project C),添加了對W的引用,將W的啟動目錄設置為X,然后基本上包含以下主要代碼行
var host = new ServiceHost(typeof(EvalService));
host.Open();
現在,當我在W中測試方法時,我得到的System.ServiceModel.FaultException
與{"The specified module could not be found. (Exception from HRESULT: 0x8007007E)"}
。
這是什么意思? 我如何知道它要加載哪個模塊?
我對C#和WCF還是陌生的,任何暗示都會受到贊賞。
您可以訂閱事件AppDomain.AssemblyResolve並在調試器中查看哪個程序集有問題。
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.AssemblyResolve += OnAssemblyResolve;
...
private static Assembly OnAssemblyResolve(object sender, ResolveEventArgs args)
{
Console.WriteLine(args.RequestingAssembly); //set breakpoint there
return null;
}
您需要確定此錯誤是在服務還是在客戶端。
從錯誤消息來看,這似乎是服務端錯誤。 您可以從http://msdn.microsoft.com/zh-cn/library/gg281715.aspx實現IErrorHandler。
這將使您能夠訪問服務中的所有錯誤。 然后,您可以記錄所有異常及其內部異常。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.