Il ya tellement de choses sur ce site en ligne, mais personne ne semble être en mesure de répondre à cette question ... J'espère que quelqu'un sera ici! J'ai donc un service Web WCF hébergé sur godaddy.com. Tout fonctionne très bien quand j'essayez d'accéder à l'aide:Silverlight WCF web service d'hébergement sur domain.com et www.domain.com
http: //**www.**domain.com/DataService.svc
problèmeest quand je supprimer le www-à-dire
http://domain.com/DataService.svc
Voilà ma section web.config ServiceModel:
<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>
Voici mon 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>
Mon service utilise un 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]);
}
}
Fondamentalement, ce que je voudrais est mon WCF webservice pour être accessible si l'utilisateur entre domain.com ou www.domain .com dans son navigateur.
Toute aide sera grandement appréciée!
ps. Exécution d'IIS 7 avec ASP 3.5
Thnaks! Simon
C'est bizarre bc j'avais une clientaccesspolicy.xml mais c'est seulement quand j'ai ajouté le crossdomain.xml c'est finalement travaillé. Cela pourrait-il être dû à Godaddy? Au moins, ça marche maintenant. Merci! –
Intéressant. Il est en fait facile de balayer les fichiers interdomaines. Peut-être que cet outil vous aidera: http://www.franksworld.com/Utilities/CrossDomainPolicyChecker/Default.aspx gl! –