我正在用Visual Studio2013创建一个全新的项目,我选择了Asp.Net MVC,项目的框架4.5.1创建完成了,然后,我只做了F5来启动默认的网页。不幸的是,它会重定向到登录页面,该页面也会重定向到登录页面。以下是我在浏览器中拥有的url的简短版本:
http://localhost:5285/Account/Login?ReturnUrl=%2FAccount%2FLogin%3FReturnUrl%3D%252FAccount%252FLogin%253FReturnUrl%253D%25252FAccount%25252FLogin%25253FReturnUrl%25253D%2525252FAccount%2525252FLogin%2525253FReturnUrl%2525253D%252525252FAccount%252525252FLogin%252525253FReturnUrl%252525253D%25252525252FAccount%25252525252FLogin%25252525253FReturnUrl%25252525253D%2525252525252FAccount%2525252525252FLogin%2525252525253FReturnUrl%2525252525253D%252525252525
我在事件查看器中没有任何错误。但在屏幕上我看到:
"HTTP错误404.15 -未找到请求过滤模块配置为拒绝查询字符串太长的请求。“
该网站使用IIS Express中的默认设置运行。我如何解决这个问题?我猜我的Visual Studio 2013出了什么问题?
编辑
如果我创建了一个全新的网站并将其托管在IIS中,它就会起作用。但是如果我创建了一个新的网站(没有修改任何东西),只是点击play (默认情况下启动IIS Express ),它不会。
编辑2
我已经删除了Documents\IISExpress\config\applicationhost.config.中所有网站的我重新编译了所有内容,并创建了以下条目:
<siteDefaults>
<logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
<traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
</siteDefaults>
<applicationDefaults applicationPool="Clr4IntegratedAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>
我仍然收到IIS Express的错误,而不是IIS的错误。
发布于 2013-10-29 09:36:21
请注意,这可能是有害的建议,直接修改应用程序主机配置文件通常不是一个好主意,通常有工具可以安全地(例如,从Visual Studio中)为您完成此操作。在继续之前,请确保创建此文件的备份副本,以防IIS Express损坏。
为了解决这个问题,我采用了位于以下位置的默认IIS配置文件:
C:\Windows\System32\inetsrv\config\applicationHost.config
添加到我的文档
%userprofile%\documents\iisexpress\config\applicationhost.config
而且它起作用了。
这是因为我设置了一些Windows身份验证,而不是匿名帐户。
发布于 2013-12-08 22:03:52
在Visual Studio中突出显示该项目
打开右侧的“属性”面板(或按F4)
将“Windows身份验证”设置为“已禁用”
将“匿名身份验证”设置为“已启用”
发布于 2013-10-26 09:08:45
登录操作缺少[AllowAnonymous]
属性。
[AllowAnonymous]
public ActionResult Login(string returnUrl)
{
// code....
}
IIS Express专用的 stored :如果您多次创建相同的默认WebApplication1
项目,使用不同的身份验证设置,则IIS Express会在其配置文件中存储其他身份验证设置。类似于:
<location path="WebApplication1">
<system.webServer>
<security>
<authentication>
<windowsAuthentication enabled="true" />
<anonymousAuthentication enabled="false" />
</authentication>
</security>
</system.webServer>
</location>
</configuration>
配置位于用户的Documents文件夹Documents\IISExpress\config\
中,您应该查找:
applicationhost.config
然后删除上面提到的xml节点<location path="WebApplication1">
。
VS 2015+更新
如果您使用的是Visual Studio 2015或更高版本,请检查配置文件的路径:$(solutionDir)\.vs\config\applicationhost.config
每个解决方案都有自己的配置文件。
https://stackoverflow.com/questions/19601412
复制相似问题