У меня есть пара проблем, которые могут быть связаны или могут не быть. Я заметил, что когда я использую ссылку «Добавить службу» в Visual Studio, чтобы добавить ссылку на мою службу данных, генерируемый ею reference.cs не компилируется. Он жалуется на недостающее пространство имен. Я могу исправить это для компиляции, но это происходит каждый раз, когда я обновляю ссылку, и это беспокоит и на других уровнях, например, «это вызовет другие проблемы».Невозможно правильно ссылаться на wcf dataservice
Я также заметил, что, когда я делаю это, мой хост-сервер (консольное приложение, на котором размещается служба данных) регистрирует это:
An exception occurred [System.Data.Services.DataServiceException] :: The URL
representing the root of the service only supports GET requests.
Это служба конфигурации:
<service behaviorConfiguration="behaviour" name="StatsPlus.Server.HostedServices.SPDataServiceHost">
<endpoint address="svc" binding="webHttpBinding" contract="System.Data.Services.IRequestHandler" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8752/DataService/"/>
</baseAddresses>
</host>
</service>
И поведение:
<behavior name="behaviour">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<dataContractSerializer maxItemsInObjectGraph="10"/>
</behavior>
Когда я пытаюсь запустить svcutil http://localhost:8752/DataService/
, я получаю это:
HTTP GET Error
URI: http://localhost:8752/DataService
There was an error downloading 'http://localhost:8752/DataService'.
The request failed with HTTP status 405: Method Not Allowed.
Любые идеи? Высокая оценка
Благодаря
Я добавил поведение конечной точки webhttp, но я не вижу никакой разницы. Еще одна вещь, о которой я не уверен, заключается в том, что у меня также есть «нормальная» служба WCF (с использованием [ServiceContract]) в том же процессе. Мне интересно, действительно ли эта «ошибка» - «Добавить ссылку на службу», просто попробуйте кучу вариантов URI до тех пор, пока она не будет работать, а код, который он генерирует, отлично подходит для редактирования. Я собираюсь попробовать некоторые базовые тесты и посмотреть, действительно ли это работает :) – JohnL