0

次の URL を持つ WCF REST サービスがあります: http:/localhost/GetAllOrders

ただし、factorychannel は常に Uri を http:/localhost/Service.svc/GetAllOrders/GetAllOrders に生成します。

これが私のクライアントファクトリーチャンネルです:

Uri address = new Uri("http:/localhost/Service.svc/GetAllOrders");
            var factory = new  System.ServiceModel.Web.WebChannelFactory<App.WebService.IOrderSvc>(address);
            var webHttpBinding = factory.Endpoint.Binding as System.ServiceModel.WebHttpBinding;
            App.WebService.IOrderSvc service = factory.CreateChannel();
            var orders = service.GetAll(); // this one throwing an error since the URI has become http:/localhost/Service.svc/GetAllOrders/GetAllOrders

ここにサービス契約があります:

[WebGet(UriTemplate = "GetAllOrders")]
        [OperationContract]
        List<Order> GetAll();

Uritemplate が 2 回追加される理由は何ですか?

4

1 に答える 1

0

URI が間違っています。サービスの URI である必要があります。あなたは書くべきです:

URI アドレス = 新しい Uri("http:/localhost/Service.svc/");

于 2012-05-23T12:54:59.763 に答える