首页 > 解决方案 > 带有 Url.Action 的 MVC 中的奇怪异常

问题描述

调用函数时出现异常,我不明白为什么。例外是:

System.Web.dll 中出现“System.ArgumentException”类型的异常,但未在用户代码中处理附加信息:值不在预期范围内。

这是关于Instance.Initialize的两个参数。当 Url.Action 用作参数列表中的表达式时,会发生异常。

    [HttpPost]
    public ActionResult RestartWorkspace()
    {
        string loadStatus = Url.Action("LoadStatusBar", "Home");
        string noGateway = Url.Action("NoGateway", "NormalMode");

        Task.Factory.StartNew(() =>  {
                ServiceLayer.WorkSpace.Instance.Initialize(
                    Url.Action("LoadStatusBar", "Home"),
                    Url.Action("NoGateway", "NormalMode"));
        });
        return new EmptyResult();
    }

将其更改为此异常消失

string loadStatus = Url.Action("LoadStatusBar", "Home");
string noGateway = Url.Action("NoGateway", "NormalMode");

Task.Factory.StartNew(() =>  {
        ServiceLayer.WorkSpace.Instance.Initialize(
        loadStatus,
        noGateway);
});

我想了解为什么在第一个示例中引发异常。Url.Action 不能在 Task 内使用?

标签: c#.netasp.net-mvc

解决方案


推荐阅读