WCF: автоматически отключать MEX от DEBUG до RELEASE в VS2010? - PullRequest
1 голос
/ 09 ноября 2010

У меня есть код, который автоматически отключает передачу информации о сбоях клиентам, когда устанавливается ПОЛНАЯ сборка нашего продукта.Мне интересно, есть ли умный способ, которым мы также можем отключить доступ к метаданным MEX в нашей сборке RELEASE.Вот что я сделал, чтобы автоматически отключить информацию об ошибках, которую я нашел по следующей ссылке: http://codeidol.com/csharp/wcf/Faults/Fault-Contracts/.

    // 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

Ответы [ 2 ]

2 голосов
/ 09 ноября 2010

Если вы конфигурируете свою службу WCF с помощью файла конфигурации, то у вас может быть только две отдельные конфигурации - одна для отладки, другая для выпуска без конечной точки MEX.

1 голос
/ 09 ноября 2010

Вы должны добавить конечную точку mex в код и таким образом скомпилировать ее

...