2013-04-03 58 views

回答

7

里面一个ServiceStack Service您可以访问IHttpRequestIHttpResponse对象:

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

我刚回去重新阅读wiki页面,并在第1条注释中找到答案。对不起,因为脑死亡。 –

+0

一年后再次搜索一遍:) –