簡體   English   中英

自承載WCF和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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM