IMetadataExchange проблема в WCF - PullRequest
       0

IMetadataExchange проблема в WCF

2 голосов
/ 24 сентября 2010

Я использую VSTS 2010 + C # + .Net 4.0 + IIS 7.5 + Windows 7. Я следую примеру MSDN здесь без каких-либо изменений, http://msdn.microsoft.com/en-us/library/ms733766.aspx

Когда я открываю файл service.svc (в диспетчере IIS щелкните правой кнопкой мыши файл svc и выберите «Обзор») в IIS, возникает ошибка, подобная этой, есть идеи, что случилось?

в списке сервисов CalculatorService не найдено имя протокола «IMetadataExchange». Добавьте ServiceMetadataBehavior в файл конфигурации или напрямую добавьте в ServiceHost

Вот web.config, который я использую,

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <services>
      <!-- This section is optional with the default configuration
        model introduced in .NET Framework 4 -->
      <service name="Microsoft.ServiceModel.Samples.CalculatorService">

        <!-- This endpoint is exposed at the base address provided by host:                                        http://localhost/servicemodelsamples/service.svc  -->
        <endpoint address=""
                  binding="wsHttpBinding"
                  contract="Microsoft.ServiceModel.Samples.ICalculator" />

        <!-- The mex endpoint is exposed at http://localhost/servicemodelsamples/service.svc/mex -->
        <endpoint address="mex"
                  binding="mexHttpBinding"
                  contract="IMetadataExchange" />
      </service>
    </services>
  </system.serviceModel>

</configuration>

1 Ответ

5 голосов
/ 24 сентября 2010

Подскажите, пожалуйста, как они настроили вашу службу.

http://msdn.microsoft.com/en-us/library/ms734765.aspx

Эта ссылка содержит шаги.Точки 5 и 6 должны вас заинтересовать.

pavan

Попробуйте добавить это к поведению в файл конфигурации:

<behaviors>
      <serviceBehaviors>
        <behavior name="CalculatorServiceBehavior">
          <serviceMetadata httpGetEnabled="True"/>
          <serviceDebug includeExceptionDetailInFaults="False" />
        </behavior>
      </serviceBehaviors>
    </behaviors>

и измените элемент службы ДОБАВИТЬ это поведение:

<service 
          name="Microsoft.ServiceModel.Samples.CalculatorService"
          behaviorConfiguration="CalculatorServiceBehavior">

С уважением,

PAvan

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...