asp.net 使用ServiceStack检查请求标头

zour9fqk  于 2023-03-31  发布在  .NET
关注(0)|答案(1)|浏览(205)

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

ContactService : Service

读了这篇https://github.com/ServiceStack/ServiceStack/wiki/Access-HTTP-specific-features-in-services文章后,我很好奇访问接口的首选方式。
谢谢你,斯蒂芬

c2e8gylq

c2e8gylq1#

在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.Request.GetHeader(headerKey);
    }
}

IHttpRequest是底层ASP.NET HttpRequest或HttpListenerRequest的 Package 器(取决于您是在ASP.NET上托管还是在自托管HttpListener上托管)。因此,如果您在ASP.NET中运行,则可以通过以下方式获取底层ASP.NET HttpRequest:

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

相关问题