У меня есть служба, размещенная с помощью wsHttpBinding для адреса (базовый адрес хоста http://localhost/MyService).
В моем контракте (IMyService
) у меня есть:
[OperationContract]
[WebInvoke(
Method = "GET",
UriTemplate = "/")]
Stream GetRootPage();
ЕслиЯ запускаю свою службу и просматриваю http://localhost/MyService/,, она работает нормально. Если я перехожу к http://localhost/MyService,, меня приветствует страница WCF по умолчанию, указывающая, что служба публикации метаданных не включена для этой службы.
Я пробовал различные комбинации UriTemplate:
- UriTemplate = ""
- UriTemplate = "/"
- UriTemplate = "*"
В сочетании с базовым адресом обслуживания:
Все они дают одинаковыеВ какой-то момент раньше я мог поклясться, что это работает, хотя я думаю, что, возможно, я использовал подпуть в UriTemplate. Я знаю, что если у меня есть UriTemplate «/ abc / 123 /», я могу перейти к/ abc / 123 (без завершающей косой черты), поскольку WCF фактически автоматически выполняет перенаправление HTTP 307.
Я использую .NET 4.0.