c# - 服务堆栈在过滤器中杀死一个 HTTP 请求

标签 c# asp.net http servicestack

有没有办法在过滤器中终止 HTTPRequest。我有以下代码:

this.RequestFilters.Add((req, res, requestDto) =>
{                
    var access_token = req.Headers.GetValues("token");
    if(access_token == null || String.IsNullOrEmpty(access_token[0]))
    {
        //Kill Request here, ensuring it does not hit the service and returns an unauthorized       error code
    }

最佳答案

使用EndRequest()结束请求并短路请求管道,例如:

this.RequestFilters.Add((req, res, requestDto) =>
{                
    var access_token = req.Headers.GetValues("token");
    if (access_token == null || String.IsNullOrEmpty(access_token[0]))
        res.EndRequest()
}

关于c# - 服务堆栈在过滤器中杀死一个 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23005404/

相关文章:

c# - 将 float 显示到文本框类型 "number"

c# - 在 ASP.NET MVC 上检测 session 过期

.net - 为什么我的提交事件没有被 ASP.NET 中的 jQuery 捕获?

Python urllib2 与保持事件

c# - 为什么接口(interface)不能指定静态方法?

c# - LINQ 分组依据 和 "count-if"

c# - 以编程方式在 LinqPad 中执行类似 `Hyperlinq` 的查询

asp.net - JsonResult 在浏览器中显示文件下载

javascript - 发出 HTTP 请求而不打开新连接

javascript - 从主线程和回调中调用函数是 JavaScript 中的良好风格吗