WCF Rest Custom URL - PullRequest
       7

WCF Rest Custom URL

0 голосов
/ 24 февраля 2011

Я пытаюсь настроить службу RESTful WCF, которая будет принимать следующий URL:

http://localhost/Service.svc/ProcessRequest;ID=1234

Я заключил договор на обслуживание следующим образом:

[ServiceContract]
    public interface IService
    {

        [OperationContract]
        [WebInvoke(Method = "POST", UriTemplate = "/ProcessRequest")]
        XmlElement ProcessRequest(Stream postbody);

Однако это возвращает ошибку 404, когда я пытаюсь вызвать ее с клиента, возможно, из-за формата URL. Есть ли способ обработки; ID = 1234 как часть метода. Мне не обязательно фиксировать значение идентификатора, но по разным причинам клиент будет отправлять URL-адрес в этом формате, и я должен иметь возможность его обработать.

1 Ответ

1 голос
/ 24 февраля 2011

Прежде всего, вам нужно удалить префикс / из вашего UriTemplate.Я не уверен, что вы можете избежать этой точки с запятой, но вы должны попробовать это:

[ServiceContract]
public interface IService
{
    [OperationContract]
    [WebInvoke(Method = "POST", UriTemplate = "ProcessRequest;ID={id}")]
    XmlElement ProcessRequest(string id, Stream postbody);
}

В противном случае замените ; на ? и попробуйте загрузить его как http://localhost/Service.svc/ProcessRequest;ID=1234чтобы увидеть, если это проблема.

...