如何在odata中正确取消操作

Dil*_*d K 5 c# json odata asp.net-web-api

我想在从客户端取消时取消加载实体。我有控制器,它看起来像这样:

    public IHttpActionResult Get(CancellationToken cancellationToken)
    {
        IQueryable<Product> products = Context.GetEntities<Product>();

        return Ok();
    }
    List<Product> GetInsTance(IQueryable<Product> products,CancellationToken cancellationToken)
    {
        var list = new List<Product>();
        foreach (var item in products)
        {
            cancellationToken.ThrowIfCancellationRequested();
            list.Add(item);
        }
        return list;
    }
Run Code Online (Sandbox Code Playgroud)

当它被取消时我抛出异常。所以,我想通过不同的方式取消。如果我设置IQuerableOK方法怎么办?它会起作用吗?还有其他方法可以做到这一点吗?