WCF points de terminaison du Service contre l'Hôte d'une adresse de Base
donc je suis un peu confus sur ce que sont les points de terminaison de service et d'accueil adresse de base est de. Dans tous les exemples que j'ai parcouru jusqu'à présent ils parlent à propos de la configuration des ordinateurs d'extrémité avec les fixations et vous pouvez naviguer normalement pour les effets
Hoever lorsque j'utilise la configuration suivante pour configurer l'hôte et mon service il semble que pour exposer les Hôtes de la base de l'adresse.
<configuration>
<system.web>
<compilation debug="true" />
</system.web>
<!-- When deploying the service library project, the content of the config file must be added to the host's
app.config file. System.Configuration does not support config files for libraries. -->
<system.serviceModel>
<services>
<service name="HostService.EvalService">
<endpoint address="http://localhost:8080/basic"
binding="basicHttpBinding" contract="HostService.IEvalService" />
<endpoint address="http://localhost:8080/ws"
binding="wsHttpBinding" contract="HostService.IEvalService" />
<endpoint address="mex" binding="mexHttpBinding"
name="mex" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/EvalsService" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Quelqu'un peut-il m'expliquer cela?
Vous devez vous connecter pour publier un commentaire.
Lorsque vous accueillir le service WCF sur IIS, l'adresse de base ne peut être l'URL de la .svc fichier. Si vous indiquez une autre adresse de base, il est ignoré. Vous pouvez toujours spécifier l'URI relatif pour vos points d'accès, tels que
address="basic"
ouaddress = "ws"
. Puis, l'adresse sur le point de terminaison est<URL to the .svc file>/basic
et<URL to the .svc file>/ws
dans ce cas.Lorsque vous quittez l'adresse de point de terminaison vide, cela signifie que le point de terminaison n'utilisera que le correspondant de la base de l'adresse de son adresse de point de terminaison. Alternativement, vous pouvez configurer l'adresse de base comme le chemin absolu de votre service, ou une meilleure approche, écrire relative adresses de vos systèmes d'extrémité.
Lorsque vous hébergez vos services sur IIS, adresse de base du service est déterminé par le répertoire virtuel IIS avec le .svc fichier.
IIS forces de vos points d'utiliser cette adresse de base déterminé en fonction de votre service de chemin de déploiement. Si vous spécifiez un autre adresse de base puis le correspondant du répertoire virtuel, vous aurez une exception.
Considérer la configuration ci-dessous;
Si vous ne peut pas naviguer à l' "../mex" ou "../secure" Url via le navigateur, ils sont réellement actifs, et les clients peuvent consommer ces adresses.
Comportement du Client
Informations ci-dessus pour la plupart extraites de Aaron Skonnard excellent l'article sur msdn. Je vous suggère fortement de le lire pour obtenir les fondamentaux de la WCF adressage.
lorsque vous utilisez la base de l'adresse, vous n'avez pas besoin de fournir de l'URI absolu pour vos points d'accès, par exemple, vous pouvez utiliser
address="basic"
dans le point de terminaison de section de configuration, cela signifie que l'adresse pour que le point de terminaison esthttp://localhost:8080/EvalsService/basic
.