基于Controller和Action

时间:2016-11-03 07:19:17

标签: asp.net asp.net-core actionfilterattribute

我在ASP.NET Core项目中使用ActionFilterAttribute。在某些情况下,除了这种方法之外,还会生成一个指向我们的React.js项目将使用的控制器/操作的URL。

例如,我们希望生成类似此http://localhost:1234/api/GetSomething/1

的网址

目前我正在使用ActionExecutingContext和Microsoft.AspNetCore.Mvc.Routing.UrlHelper生成操作方法的URL

e.g。 var action = new UrlHelper(actionContext).Action(“get”,“Controller”,new {id});

这在正常运行代码时工作正常,但是当它尝试调用Action扩展帮助程序时,它导致单元测试失败并且索引超出范围异常。

测试是创建一个ActionExecutingContext并设置actionContext,我尝试创建一个新的RouteData并添加几个假值,但它仍然失败。 我假设在startup.cs中设置了某些东西,也许app.UseMvc()?测试没有。

有没有人对如何根据控制器和操作在ActionFilterAttribute中正确生成URL或者如何让我的测试工作有任何建议?

0 个答案:

没有答案