6

检查服务端点的请求标头的最佳方法是什么?

ContactService : Service

阅读此https://github.com/ServiceStack/ServiceStack/wiki/Access-HTTP-specific-features-in-services我很好奇进入界面的首选方式。

谢谢你,斯蒂芬

4

1 回答 1

7

在 ServiceStack服务中,您可以通过以下方式访问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]; 
于 2013-04-03T00:27:27.800 回答