У меня есть контракт на обслуживание WCF:
[ServiceContract]
public interface IPolicyRetriever
{
[OperationContract, WebGet(UriTemplate = "/clientaccesspolicy.xml")]
Stream GetSilverlightPolicy();
}
с этим Web.config
разделом:
<service behaviorConfiguration="policyRetrieverServiceBehavior"
name="WebService.PolicyRetriever">
<endpoint address="" binding="webHttpBinding"
behaviorConfiguration="policyRetrieverEndpointBehavior"
contract="WebService.IPolicyRetriever" />
</service>
Сервер работает на localhost
, с веб-хостингом Visual Studio, на порту 8080
, а файл веб-службы называется WebService.svc
.
Приведенный выше код сделает метод GetSilverlightPolicy()
открытым для http://localhost:8080/WebService.svc/clientaccesspolicy.xml
.
Мне нужно открыть файл в корне веб-сервера вместо подпути WebService.svc
, но я не смог найти способ сделать это.
Установка свойства address
для конечной точки /
или http://localhost:8080/
не сработала.
Ни добавление раздела host
к узлу обслуживания:
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/"/>
</baseAddresses>
</host>
Кто-нибудь нашел решение?