Пользовательская десериализация в WCF Rest - PullRequest
2 голосов
/ 15 декабря 2011

Я пишу сервис WCF REST и пытаюсь использовать идеи из поста Карлоса Фигейры в блоге здесь , чтобы настроить мою десериализацию.

Есть только одна проблема. Я хотел бы, чтобы мой пользовательский IDispatchMessageFormatter.DeserializeRequest() для обоих:

  1. десериализация тела запроса
  2. И анализирует URI в параметрах метода (как это делает WCF по умолчанию).

Например, если у меня есть следующий метод в моем контракте на обслуживание:

[WebInvoke(Method = "POST", UriTemplate = "/{uriPart1}/{uriPart2}")]
void Func(string uriPart1, string uriPart2, SomeObject messageBodyObject);

тогда моя реализация DeserializeRequest() должна не только десериализовать тело сообщения POST в messageBodyObject, но и присвоить правильные значения из URI для uriPart1, uriPart2 параметров.

Код Карлоса не выполняет вторую часть.

Я бы хотел знать, как мне этого добиться. Любая помощь будет высоко ценится.

1 Ответ

1 голос
/ 15 декабря 2011

Почему бы не взглянуть на проект Web API (http://wcf.codeplex.com)? Он использует WCF под обложками и делает то, что вы описываете.

...