我刚刚开始使用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 **
答案 0 :(得分:2)
答案 1 :(得分:0)
您的操作签名有问题。因为,索引是RegisterRoutes
中定义的默认操作,因此一旦启动站点就会调用它。由于MVC不包括ActionResult
的返回类型,并且如果在调用的操作中找不到则抛出异常。您可以将返回类型更改为ActionResult
,如果返回的值不是类型字符串,则将返回值包装在Json中。
public ActionResult Index()
{
return this.Json(typeof(Controller).Assembly.GetName().Version.ToString());
}