2010-11-09 68 views
1

當我們安裝產品的RELEASE版本時,我的代碼會自動將錯誤信息從流向客戶端的流程中排除。我想知道是否有一種聰明的方法,我們也可以禁用MEX元數據,使其在我們的RELEASE構建中可用。以下是我所做的自動禁用故障信息的操作,我在以下鏈接中找到了這些信息:http://codeidol.com/csharp/wcf/Faults/Fault-Contracts/WCF:自動禁用MEX從DEBUG到RELEASE在VS2010中生成?

// Enables exceptions to flow to clients when built for debugging; 
    // Otherwise, no details go to client. 
    public static class DebugHelper 
    { 
     public const bool IncludeExceptionDetailInFaults = 
#if DEBUG 
true; 
#else 
     false; 
#endif 
    } 

    // This service is singleton. If other calls arrive while one is in progress, 
    // they are queued. 
    [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, 
        ConcurrencyMode = ConcurrencyMode.Single, 
        IncludeExceptionDetailInFaults = DebugHelper.IncludeExceptionDetailInFaults)] 
    public class OurService : IOurService 

回答

1

您應該添加MEX終結的代碼,因此編譯它扔掉

+0

Ahhh ...我喜歡你的兩個想法,但這個很吸引人,因爲我可以使用條件編譯,而不必維護兩個配置文件。這是要走的路!感謝Mark&Preet的幫助! :) - Mike – ABOH 2010-11-09 22:41:32

+0

不客氣。祝你好運 – 2010-11-10 02:45:26

2

如果使用配置文件來配置你的WCF服務,那麼你可以只是兩個獨立的CONFIGS - 一個用於調試,一個用於沒有MEX端點的發佈。