WCF не может настроить публикацию WSDL - PullRequest
0 голосов
/ 14 января 2012

Я хочу включить получение WSDL для созданного мной веб-сервиса.Я могу «вызвать» веб-сервис через созданный мной файл .svc:

http://localhost/test.svc

<%@ ServiceHost Language="C#" Debug="true" Service="Project.MyService" CodeBehind="MyService.svc.cs" %>

При вызове страницы выдается стандартное сообщение .NET с надписью «Публикация метаданных для этой службы».в настоящее время отключен. "с инструкциями по включению публикации.

Я следовал инструкциям и добавил записи web.config, однако вызов http://localhost/test.svc?wsdl дает тот же результат ... Как включить публикацию WSDL для моего веб-сервиса?

записей web.config

  <service name="Project.IMyService" behaviorConfiguration="MyServiceTypeBehaviors" >
    <endpoint contract="IMetadataExchange" binding="mexHttpBinding" 
              address="mex"
              />
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost/test.svc"/>
      </baseAddresses>
    </host>
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="MyServiceTypeBehaviors">
      <serviceMetadata httpGetEnabled="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>

Ответы [ 2 ]

2 голосов
/ 15 января 2012

Звучит безумно, но просто удалите поведениеConfiguration = "MyServiceTypeBehaviors" из определения службы и присвойте поведение анонимно (без имени).Останется

<services>
     <service name="WcfServiceLibrary1.IMyService" >
    <endpoint contract="IMetadataExchange" binding="mexHttpBinding" 
              address="mex"
              />
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost/test.svc"/>
      </baseAddresses>
    </host>
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior >
      <serviceMetadata httpGetEnabled="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>
1 голос
/ 14 января 2012

Конечная точка mex и httpGetEnabled выглядят хорошо. Эта ссылка охватывает тему более подробно и может быть полезна.

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

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