Я пытаюсь добавить новую конечную точку в службу, размещенную под IIS, но не смог понять ее в течение прошедшего дня или около того.Несколько конечных точек в IIS
Это мое понимание:
- вы можете иметь несколько конечных точек под IIS, если они имеют уникальные адреса.
- вы можете назначить базовый адрес, но он будет переопределен настройкой виртуального каталога в IIS.
Мой виртуальный каталог 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>
Я могу вызвать службу, используя http://localhost/wcfcert/service1.svc
но http://localhost/wcfcert/test/service1.svc/test не возвращает ничего в IE или клиентское приложение
Что я отсутствует здесь?
Edit:
Так что я сделал дальнейшее тестирование, и вот что я обнаружил.
Если я запустил WcfTestClient.exe и добавлю либо http://localhost:1523/Service1.svc, либо http://localhost:1523/Service1.svc/mex, он добавит и конечную точку под этим адресом. так вот мой вопрос не должен http://localhost:1523/Service1.svc представляют только первую конечную точку? почему добавление этого адреса вызывает обе конечные точки?
но если я пытаюсь добавить http://localhost:1523/Service1.svc/test я
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.
у меня аналогичная проблема, которую я хотел бы получить это решение. Единственное отличие от того, что вы описываете, что я получаю «400 Bad request» без текста. Я следую описанию на http://msdn.microsoft.com/en-us/library/ms733766.aspx, в котором говорится, что полученный URL-адрес будет переведен в ваш пример - http: //localhost/wcfcert/service1.svc/test. Для меня это тоже не работает. –
URL-адрес не работает в IE (.../Service1.svc/test). Но создать прокси добавить ту же конечную точку он работает. Обратитесь к этому http://msdn.microsoft.com/en-us/library/ms751515(v=vs.110).aspx –