В Интернете так много всего, но никто не может ответить на этот вопрос ... Надеюсь, кто-то здесь будет!
Итак, у меня есть веб-сервис WCF, размещенный на godaddy.com. Все отлично работает, когда я пытаюсь получить к нему доступ, используя:
http://**www.**domain.com/DataService.svc
проблема в том, когда я удаляю www, т.е. 1007 *
http://domain.com/DataService.svc
Вот мой раздел модели web.config service:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="DataServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="DataServiceBehavior"
name="DataService">
<endpoint address="" binding="basicHttpBinding" contract="IDataService"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
Вот мой ServiceReferences.ClientConfig
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IDataService" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://www.domain.ca/DataService.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IDataService" contract="Web.IDataService"
name="BasicHttpBinding_IDataService" />
</client>
</system.serviceModel>
Мой сервис использует CustomServiceFactory
public class CustomServiceHostFactory : ServiceHostFactory
{
/// <summary>
/// A custom method to eliminate multiple base addresses from the IIS host creation process
/// </summary>
/// <param name="serviceType">The service type to be created</param>
/// <param name="baseAddresses">A list of the base addresses</param>
/// <returns>A service host</returns>
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
if (baseAddresses.Length > 1)
{
ServiceHost customServiceHost =
new ServiceHost(serviceType, baseAddresses[1]);
return customServiceHost;
}
return new ServiceHost(serviceType, baseAddresses[0]);
}
}
По сути, мне бы хотелось, чтобы мой веб-сервис WCF был доступен независимо от того, вводит ли пользователь domain.com или www.domain.com в свой браузер.
Любая помощь будет принята с благодарностью!
пс. Запуск IIS 7 с ASP 3.5
Thnaks!
Simon