Здравствуйте и спасибо за чтение.
Я пытаюсь получить службу, размещенную в IIS 7.5, с несколькими открытыми конечными точками.
У меня ощущение, что проблема заключается в моем файле web.config, но я опубликую свой сервисный код здесь. Там нет файла интерфейса, так как я использую новые функции WCF 4, также нет файла .svc.
Вся маршрутизация, насколько я понимаю, обрабатывается в Global.asax.cs с использованием функции RouteTable.
Независимо от того, на код / конфиг -
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
// NOTE: If the service is renamed, remember to update the global.asax.cs file
public class Service1
{
// TODO: Implement the collection resource that will contain the SampleItem instances
[WebGet(UriTemplate = "HelloWorld")]
public string HelloWorld()
{
// TODO: Replace the current implementation to return a collection of SampleItem instances
return "Hello World!";
}
}
И теперь необходимо внести конфигурацию с изменениями, которые я думал (я не уверен, нужно ли мне сохранять блок standardEndpoints, но с ним или без него я все еще получаю сообщения об ошибках. -
<services>
<service name="AiSynthDocSvc.Service1" behaviorConfiguration="HttpGetMetadata">
<endpoint name="rest"
address=""
binding="webHttpBinding"
contract="AiSynthDocSvc.Service1"
behaviorConfiguration="REST" />
<endpoint name="soap"
address="soap"
binding="basicHttpBinding"
contract="AiSynthDocSvc.Service1" />
<endpoint name="mex"
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="REST">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="HttpGetMetadata">
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<standardEndpoints>
<webHttpEndpoint>
<!--
Configure the WCF REST service base address via the global.asax.cs file and the default endpoint
via the attributes on the <standardEndpoint> element below
-->
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"/>
</webHttpEndpoint>
</standardEndpoints>
Файл Global.asax.cs остался один.
Опять же, я почти уверен, что это как-то связано с моим конфигом. Ошибка, которую я получаю, когда пытаюсь получить доступ к любой из определенных конечных точек, -
Конечная точка в '' не имеет привязки с None MessageVersion. «System.ServiceModel.Description.WebHttpBehavior» предназначен только для использования с WebHttpBinding или аналогичными привязками.
У кого-нибудь есть идеи по этому поводу?
Спасибо
Захари Картер