アドレスで wsHttpBinding を使用してホストされているサービスがあります (ホストのベース アドレスはhttp://localhost/MyService です)。
私の契約 ( IMyService
) には、次のものがあります。
[OperationContract]
[WebInvoke(
Method = "GET",
UriTemplate = "/")]
Stream GetRootPage();
サービスを実行してhttp://localhost/MyService/を参照すると、問題なく動作します。http://localhost/MyServiceを参照すると、既定の WCF ページが表示され、メタデータ公開サービスがこのサービスに対して有効になっていないことが示されます。
UriTemplate のさまざまな組み合わせを試しました。
- UriTemplate = ""
- UriTemplate = "/"
- UriTemplate = "*"
サービスベースアドレスとの組み合わせ:
それらはすべて同じ動作をもたらします。UriTemplate でサブパスを使用していた可能性がありますが、以前のある時点で、これが機能していると断言できました。"/abc/123/" の UriTemplate がある場合、WCF は実際に HTTP 307 リダイレクトを自動的に発行するため、(末尾のスラッシュなしで) /abc/123 を参照できます。
.NET 4.0 を使用しています。