Breeze ODataActionFilter被调用两次

Breeze ODataActionFilter被调用两次,breeze,Breeze,这是我第一次尝试使用breeze.js,所以我可能有一些设置不正确的地方,但不确定它是什么 我在执行简单查询时遇到错误。我在VS2012项目中首先使用了EF5.0DB 发生了一个错误。 值不能为null。参数名称:源 System.ArgumentNullException 在System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecuted的Breeze.WebApi.ODataActionFilter.OnActionExec

这是我第一次尝试使用breeze.js,所以我可能有一些设置不正确的地方,但不确定它是什么

我在执行简单查询时遇到错误。我在VS2012项目中首先使用了EF5.0DB

发生了一个错误。 值不能为null。参数名称:源 System.ArgumentNullException 在System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecuted的Breeze.WebApi.ODataActionFilter.OnActionExecuted(HttpActionExecutedContext actionExecutedContext)的lambda_方法(闭包,IQueryable)的System.Linq.Queryable.Where[TSource](IQueryable
1 source,表达式
1谓词)中(HttpActionContext actionContext,HttpResponseMessage response,Exception Exception)在System.Web.Http.Filters.ActionFilterAttribute.c_在System.Threading.Tasks.TaskHelperExtensions.c_在System.Threading.Tasks.TaskHelperExtensions.c_中显示Class41
2.b_u40(Task
1 t)[TTask,TOuterResult](TTask任务,Func`2 continuation,CancellationToken CancellationToken,布尔同步运行)

为了确定我做得不正确,我下载了breeze服务器源代码,并将项目包含在解决方案中,以便跟踪错误。错误发生在ODataActionFilter.cs中的OnActionExecuted事件中。奇怪的是,同一查询调用了两次函数。函数是第一次使用responseObject中的查询调用。第二次调用事件时,查询的结果在responseObject中。这不再是导致错误的iQueryable对象。我无法确定函数已具有正确结果时为何第二次调用该函数

以前有没有人见过这个问题,能告诉我解决它的方向


谢谢

我在回答我自己的问题

解决方案是,我的api控制器没有应用新的BreezeController属性。这不在任何文档中。但是,我在示例中找到了它

即 从文件:

但是,目前的样本有:

[BreezeController]
public class TodosController : ApiController {

这纠正了问题,但很难找到。我也不完全清楚新的BreezeController属性是应该添加到原来的两个属性中,还是完全替换它们。

我在回答我自己的问题

解决方案是,我的api控制器没有应用新的BreezeController属性。这不在任何文档中。但是,我在示例中找到了它

即 从文件:

但是,目前的样本有:

[BreezeController]
public class TodosController : ApiController {

这纠正了问题,但很难找到。我也不完全清楚新的BreezeController属性是否应该添加到原来的两个属性中,或者是否完全替换它们。

我已经看到了……但是,为您猜测原因是没有用的。如果您提供多一点信息,我可能会提供帮助。您是如何来到这里的?您是从MVC 4 SPA模板[可能有问题]?还是其他模板开始的?您安装了哪个NuGet软件包?您是否创建了自己的模型和控制器?如果是,是什么属性装饰控制器?Ward。在我将答案发布到下面之前,我没有注意到你的回答。尽管我能够在没有阅读你的回答的情况下解决它,但你的建议是正确的。我没有在api控制器上使用必要的属性。谢谢。我已经看到了…但是猜测原因对你来说是没有用的。我可能会的如果您提供更多信息,请提供帮助。您是如何来到这里的?您是从MVC 4 SPA模板开始的[可能有麻烦]?还是其他模板?您安装了哪个NuGet软件包?您是否创建了自己的模型和控制器?如果是,是什么属性装饰控制器?Ward。在我将答案发布到下面之前,我没有注意到你的回答。尽管我能够在没有阅读你的回答的情况下解决它,但你的建议是正确的。我没有在api控制器上使用必要的属性。谢谢。