Как я могу получить доступ к операции политики доступа клиента моей службы WCF из корня?
У меня есть следующая операция для размещения моей политики клиентского доступа в моей службе WCF:
[OperationContract]
[WebGet(UriTemplate = "/clientaccesspolicy.xml")]
XElement RetrieveClientAccessPolicy();
public XElement RetrieveClientAccessPolicy()
{
String policy = @"<?xml version=""1.0"" encoding=""utf-8""?>
<access-policy>
...
</access-policy>";
return XElement.Parse(policy);
}
Когда я пытаюсь подключиться к моей службе из приложения silverlight, я получаю сообщение об ошибке, потому что не удается найти политику клиентского доступа. Он ищет это здесь:
Когда я просматриваю там в IE, я получаю 404. Однако я могу найти файл clientaccesspolicy.xml, если я зайду сюда:
Как я могу заставить свою операцию сделать файл политики клиентского доступа доступным из корня, а не из этого каталога (сервер - это имя службы)?
1 ответ
Я предполагаю, что вы не используете IIS для размещения службы, поскольку вы пытаетесь вернуть clientaccesspolicy.xml через вызов WCF.
В случае службы собственного размещения WCF, я думаю, вам придется настроить отдельную конечную точку службы и контракт для вашего RetrieveClientAccessPolicy()
позвоните в свой App.config. Этот сервис будет иметь базовый адрес http://localhost
где ваш основной сервис будет иметь базовый адрес http://localhost/server
,