从基本web api控制器提前返回

时间:2014-10-01 22:50:04

标签: c# asp.net-web-api

我有这个控制器:

public class TestController : ODataControllerBase<TestModel, Test>
{
    public IEnumerable<TestModel> Get()
    {
        var results = Tests.Get();

        return new PageResult<TestModel>(results);
    }
}

哪个有这个基本控制器:

public abstract class ODataControllerBase<TModel, TEntity> : ODataController
{
    protected override void Initialize(HttpControllerContext controllerContext)
    {
        base.Initialize(controllerContext);

        if (!HttpContext.Current.User.IsInRole("Test"))
        {
            base.Ok(new List<TModel>());
        }
    }
}

这个基础继承自多个控制器,一切正常。

除了检查用户是否处于正确角色的部分。如果用户没有进入base.Ok(new List<TModel>());部分,那就是它。它会跳过然后继续执行Get()操作并返回结果。

如何确保基本控制器设置响应上下文并阻止任何进一步的操作运行?

0 个答案:

没有答案