Путь переписать данные поста к службе WCF - PullRequest
2 голосов
/ 06 марта 2012

Давайте предположим, что у меня определен простой сервис WCF

[OperationContract, WebInvoke(Method = "GET", UriTemplate = "*")]
string TestMe ()

и простой модуль http для перезаписи URL

context.BeginRequest += (s,e)=>{
var ctx = HttpContext.Current;
var method = ctx.Request.AppRelativeCurrentExecutionFilePath.RemoveFirst("~/");
var args = ctx.Request.QueryString.ToString();               
ctx.RewritePath("~/MyService.svc", method, args, false);
}

Таким образом, каждый вызов метода будет переведен в метод TestMe спараметры

Теперь я хочу опубликовать весь запрос здесь,

[OperationContract, WebInvoke(Method = "POST", UriTemplate = "*")]
string TestMe (Stream request)

Для этого вызова RewritePath не передает поток, отправляемый запросчиком службы, и я не смог найти способ обойти его.Как переписать URL-адрес и сохранить исходный байтовый массив запроса?

1 Ответ

0 голосов
/ 25 апреля 2012

Во время обработки запроса POST перезапись URL не влияет на тело HTTP-запроса.

С другой стороны, строка запроса является частью URL, и вы, похоже, правильно перенесли ее на новый URL.

Каковы ваши симптомы?

...