で%を使用する方法エラーメッセージ:エンドポイントが見つかりません! 例えば:私は%記号なしで使用する場合はWCF RESTサービス - セルフホストのWindowsサービス - 私は私が得たURL内の%23を使用する場合、文字列</p> <p>などのパラメータを取得するメソッドを持っているREST WCFサービスを持っているURL
-- Id #9999
http://localhost:8000/MyService/GetData/Id/%239999 (%23 means # symbol encoded)
それは
http://localhost:8000/MyService/GetData/Id/10
[ServiceContract]
public interface IService1
{
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, UriTemplate = "GetData/id/{id}")]
string GetData(string value);
}
私はWindowsサービス上でサービスをホスト正常に動作します:
ServiceHost host = new ServiceHost(typeof(Service1), "http://localhost:8000");
WebHttpBinding binding = new WebHttpBinding();
ServiceEndpoint endpoint = host.AddServiceEndpoint(typeof(IService1), binding, "MyService");
WebHttpBehavior httpBehavior = new WebHttpBehavior();
endpoint.Behaviors.Add(httpBehavior);
host.Open();
私はこの記事を見つけた: http://www.hanselman.com/blog/ExperimentsInWackinessAllowingPercentsAnglebracketsAndOtherNaughtyThingsInTheASPNETIISRequestURL.aspxをIIS上でWCFをホストしていないので動作しません。代わりにWindowsサービスでホストしています
おかげでパウロを見てみましょうが、問題は、我々は、IDで特別な文字を持っています。彼らはここでこの方法を使用し、私は従わなければならない。 – Rick