J'ai essayé d'ajouter un nouveau point de terminaison dans un service hébergé sous IIS, mais je n'ai pas réussi à le comprendre depuis un jour ou deux.Plusieurs points de terminaison sous IIS
Ceci est ma compréhension:
- vous pouvez avoir plusieurs points de terminaison sous IIS tant qu'ils ont des adresses uniques.
- Vous pouvez affecter une adresse de base mais elle sera remplacée par la configuration du répertoire virtuel dans IIS.
Mon répertoire virtuel est http://localhost/WcfCert/
<services>
<service name="WcfCertServer.Service1" behaviorConfiguration="WcfCertServer.Service1Behavior">
<endpoint address="" binding="wsHttpBinding" contract="WcfCertServer.IService1"/>
<endpoint address="test" binding="wsHttpBinding" contract="WcfCertServer.IService1"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
je peux apporter le service à l'aide http://localhost/wcfcert/service1.svc
mais http://localhost/wcfcert/test/service1.svc/test ne retourne rien dans IE ou l'application cliente
que suis-je manquant ici?
Edit:
donc je l'ai fait d'autres tests, et voici ce que j'ai découvert. Si je démarre WcfTestClient.exe et ajoute http://localhost:1523/Service1.svc ou http://localhost:1523/Service1.svc/mex, il ajoutera le point de terminaison sous cette adresse. alors voici ma question ne devrait pas http://localhost:1523/Service1.svc ne représentent que le premier point de terminaison? Pourquoi l'ajout de cette adresse fait apparaître les deux extrémités?
mais si je tente d'ajouter http://localhost:1523/Service1.svc/test je reçois
Error: Cannot obtain Metadata from http://localhost:1523/Service1.svc/test If this is a Windows (R) Communication Foundation service to which you have access, please check that you have enabled metadata publishing at the specified address. For help enabling metadata publishing, please refer to the MSDN documentation at http://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata Exchange Error URI: http://localhost:1523/Service1.svc/test Metadata contains a reference that cannot be resolved: ' http://localhost:1523/Service1.svc/test '.
Sendera:BadContextToken
The message could not be processed. This is most likely because the action ' http://schemas.xmlsoap.org/ws/2004/09/transfer/Get ' is incorrect or because the message contains an invalid or expired security context token or because there is a mismatch between bindings. The security context token would be invalid if the service aborted the channel due to inactivity. To prevent the service from aborting idle sessions prematurely increase the Receive timeout on the service endpoint's binding.HTTP GET Error URI: http://localhost:1523/Service1.svc/test There was an error downloading ' http://localhost:1523/Service1.svc/test '. The request failed with HTTP status 400: Bad Request.
J'ai un problème similaire, j'aimerais obtenir une solution à cela: la seule différence avec ce que vous décrivez s être que je reçois une '400 Bad Request' sans texte. Je suis la description sur http://msdn.microsoft.com/fr-fr/library/ms733766.aspx qui indique dans le commentaire que l'URL résultante sera - traduite dans votre exemple - http: //localhost/wcfcert/service1.svc/test. Ça ne marche pas pour moi non plus. –
L'URL ne fonctionne pas dans IE (.../Service1.svc/test). Mais créer un proxy ajoute le même point de terminaison que cela fonctionne. Référez-vous à ce http://msdn.microsoft.com/en-us/library/ms751515(v=vs.110).aspx –