指定的参数超出了有效值的范围(参数名称:站点)

时间:2015-10-29 10:52:12

标签: c# asp.net-mvc-4

我刚刚开始使用asp.net mvc 4.我已经创建了这个简单的控制器类并且做了这个小编码,但是当我运行我的项目时它会抛出一个错误。我不知道这个错误是什么以及如何修复它。请帮帮我。

public class HomeController : Controller 
{
    public string Index()
    {
        return typeof(Controller).Assembly.GetName().Version.ToString();
    }
}
  

当我在谷歌浏览器上运行应用程序时,它会抛出以下错误

     应用程序中的服务器错误。

     

指定的参数超出了有效值的范围。   参数名称:site

     

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

     

异常详细信息:System.ArgumentOutOfRangeException:指定的参数超出了有效值的范围。   参数名称:site

     

来源错误:   在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。

     

堆栈追踪:

     

[ArgumentOutOfRangeException:指定的参数超出了有效值的范围。   参数名称:site]

     

System.Web.HttpRuntime.HostingInit(HostingEnvironmentFlags hostingFlags,PolicyLevel policyLevel,Exception appDomainCreationException)+303

     

[HttpException(0x80004005):指定的参数超出了有效值的范围。>   参数名称:site]

     

System.Web.HttpRuntime.FirstRequestInit(HttpContext context)+9951956      System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)+101      System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext context)+254

     

版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.34248 **

2 个答案:

答案 0 :(得分:2)

这应解决问题

  • 控制面板
  • 程序和功能
  • 打开或关闭Windows功能
  • 勾选互联网信息服务
  • 然后重新启动您的笔记本电脑

它对我有用

我发现answer here

答案 1 :(得分:0)

您的操作签名有问题。因为,索引是RegisterRoutes中定义的默认操作,因此一旦启动站点就会调用它。由于MVC不包括ActionResult的返回类型,并且如果在调用的操作中找不到则抛出异常。您可以将返回类型更改为ActionResult,如果返回的值不是类型字符串,则将返回值包装在Json中。

public ActionResult Index()
    {
        return this.Json(typeof(Controller).Assembly.GetName().Version.ToString());
    }