Ошибка при добавлении ссылки на службу в VS2010, содержащей webHttp и wsHttp - PullRequest
3 голосов
/ 25 января 2012

Я создаю веб-сервис с конечной точкой wsHttp и JSON.Приведенная ниже конфигурация размещена в проекте веб-сайта и работает нормально, за исключением случаев, когда я пытаюсь создать ссылку на сервис ВНУТРИ веб-сайта.Поведение конечной точки, по-видимому, вызывает ошибку:

«Ошибка расширения« webHttp »не может быть добавлена ​​к этому элементу. Убедитесь, что исключение зарегистрировано в коллекции расширений в system.servicemode / extensions / поведениеExtensions»

Не выдает ошибку в svcUtil.exe.Кажется, это специфично для VS, но я бы хотел получить основание.

 <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior name="JSON">
          <webHttp />
        </behavior>
      </endpointBehaviors>
        <serviceBehaviors>
            <behavior name="HelloWorldBehavior">
                <serviceMetadata httpGetEnabled="true" />
                <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
    <services>
        <service behaviorConfiguration="HelloWorldBehavior" name="HelloWorld">
          <endpoint address="/json" behaviorConfiguration="JSON"
            binding="webHttpBinding" contract="IHelloWorld" >
            </endpoint>
          <endpoint name="wcf"  address="" binding="wsHttpBinding"
          contract="IHelloWorld" />
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        </service>
    </services>
</system.serviceModel>

1 Ответ

5 голосов
/ 28 марта 2012

Я не знаю, решит ли это вашу проблему или нет, но я думаю, что я должен поделиться своим опытом по подобной проблеме здесь.

Я получил почти похожую ошибку:

Элемент расширения 'webHttp' не может быть добавлен к этому элементу.Убедитесь, что расширение зарегистрировано в коллекции расширений в system.servicemodel / extensions / поведениеExtensions.

error message

Я много чего пытался исправить, но не смогне делай этого.Затем я нашел это предложение по аналогичной проблеме со этой страницы:

проверьте конфигурацию вашего клиента (ASP.NET MVC) и прокомментируйте поведение конечной точки WCF, которое использует <enableWebScript />.Затем добавьте ссылку на свой сервис и раскомментируйте поведение.Та же процедура должна быть выполнена, если вы хотите обновить существующую ссылку на скрипт.Я предполагаю, что это ошибка, и о ней следует сообщить в Microsoft Connect.

Мой не был ASP.NET MVC, но я попробовал это предложение, закомментировав

<behavior name="web">
          <webHttp />
        </behavior>

thisчасть из моего app.config и может добавить ссылку на службу тогда !!Затем, после добавления ссылки, я снова раскомментировал эту часть.

Я не могу это объяснить.Это просто работает для меня, и поэтому я делюсь.Благодарю.

...