2013-04-03 2 views
6

Каков наилучший способ проверки заголовков запроса для конечной точки службы?Исследуйте заголовки запросов с ServiceStack

ContactService : Service 

Прочитав это https://github.com/ServiceStack/ServiceStack/wiki/Access-HTTP-specific-features-in-services я любопытно, предпочтительный способ, чтобы получить к интерфейсу.

Спасибо, Стивена

ответ

7

Внутри ServiceStack Service вы можете получить доступ к IHttpRequest и IHttpResponse объектов с:

public class ContactService : Service 
{ 
    public object Get(Contact request) 
    { 
     var headerValue = base.Request.Headers[headerKey]; 

     //or the same thing via a more abstract (and easier to Mock): 
     var headerValue = base.RequestContext.GetHeader(headerKey); 
    } 
} 

IHttpRequest является оберткой над подстилающей ASP.NET HttpRequest или HttpListenerRequest (в зависимости если вы размещаете на ASP.NET или самостоятельно размещенный HttpListener). Поэтому, если вы работаете в ASP.NET, вы можете получить базовый ASP.NET HttpRequest с помощью:

var aspnetRequest = (HttpRequest)base.Request.OriginalRequest; 
var headerValue = aspnetRequest.Headers[headerKey]; 
+0

Я только что вернулся и перечитал страницу вики и нашел ответ в 1-м ПРИМЕЧАНИЕ. Извините за то, что вы мертвы. –

+0

Еще раз через год! –

Смежные вопросы