У меня есть служба WCF, работающая на www.domain.com/Service.svc, к которой я подключаюсь с помощью jQuery с моего сайта asp.net. Все работает отлично, если пользователь заходит на мой сайт с www.domain.com. Но если пользователь использует только domain.com, я получаю сообщение об ошибке:
There was no channel actively listening at 'http://domain.com/Service.svc/get?date=2010-10-09'.
This is often caused by an incorrect address URI. Ensure that the address to which
the message is sent matches an address on which a service is listening.
В моем файле web.config я использую тег serviceHostingEnvironment для запуска службы на моем веб-хосте (иначе это не работает). Может быть это то, что вызывает ошибку?
Вот мой system.serviceModel в web.config (у меня были некоторые проблемы при настройке веб-службы, поэтому мой web.config может быть немного грязным:
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="ServiceAspNetAjaxBehavior">
<enableWebScript />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true">
<baseAddressPrefixFilters>
<add prefix="http://www.domain.com"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
<services>
<service behaviorConfiguration="ServiceBehavior" name="Service">
<endpoint address="" behaviorConfiguration="ServiceAspNetAjaxBehavior"
binding="webHttpBinding" bindingConfiguration="ServiceBinding" contract="Service" />
</service>
</services>
<bindings>
<webHttpBinding>
<binding name="ServiceBinding" maxBufferPoolSize="1000000" maxReceivedMessageSize="1000000">
<readerQuotas maxDepth="1000000" maxStringContentLength="1000000"
maxArrayLength="1000000" maxBytesPerRead="1000000" maxNameTableCharCount="1000000" />
</binding>
</webHttpBinding>
</bindings>
</system.serviceModel>
Как я могу предоставить своим пользователям доступ к моему веб-сервису даже при использовании только domain.com?
?