C# mvc路由生成iis 7.5错误禁止
我在我的Web应用程序中有一个ASPX WebForms页面: ~/ASPWebforms/MyFolder/Default.aspx 如果我使用此代码:C# mvc路由生成iis 7.5错误禁止,c#,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-routing,C#,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc Routing,我在我的Web应用程序中有一个ASPX WebForms页面: ~/ASPWebforms/MyFolder/Default.aspx 如果我使用此代码: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapPageRoute(
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapPageRoute(
"SomeRoute",
"Test/{reportname}",
"~/ASPWebforms/MyFolder/{reportname}.aspx"
);
然后在浏览器中输入:
localhost/MySite/Test/Default
我得到了所需的结果:显示页面~/ASPWebforms/MyFolder/Default.aspx。
但是如果我使用下面的
代码
试一试
localhost/MySite/Test
IIS 7.5说:
HTTP错误403.14-禁止将Web服务器配置为不列出
此目录的内容
我在最后一段代码中是否做错了什么?
提前谢谢 在IIS 7.5上重新安装.NET 4 x86和x64,并设置网站的.NET版本。 默认情况下,我编写简单的x86命令 正在停止IIS: 1) IIS设置/停止 Stup命令(默认情况下用于iis.net Stup): 2) cd%windir%\Microsoft.NET\Framework\v4.0.30319 3) aspnet_regiis.exe-i 重置命令(对于通过将.net更改为.net 4版本的iis): 4) aspnet_regiis.exe-iru 正在启动IIS:
5) iisreset/start尝试使用如下设置默认值的重载之一设置路由:
routes.MapPageRoute(
"SomeRoute",
"Test/{reportname}",
"~/ASPWebforms/MyFolder/{reportname}.aspx",
false,
new RouteValueDictionary(new {reportname = "Default"})
);
我不太相信它会解决你的问题,但如果它与你的原始示例一起使用,它会很好地解决问题。我有很多类似的事情,从阅读周围的内容来看,它似乎可能是由几种不同的事情引起的。就我而言,我有一条这样的路线:
routes.MapPageRoute("signin", "signin", "~/SignIn/SignIn.aspx")
因此路由路径是/signin
,但也有一个名为/signin
的文件夹包含.aspx页面
我得到了错误的回复
HTTP错误403.14-禁止。Web服务器配置为不列出此目录的内容
当我将这一行添加到route config时,这一点已得到修复:
routes.RouteExistingFiles = true;
错误消息有一点道理:/signin
是一个目录,web服务器配置为不列出其中的文件。除非另行配置,否则此文件路径似乎优先于路由
我尝试过的其他事情:
- 我不需要使用不同的
MapPageRoute
- 我不需要在下面的web.config中添加
UrlRoutingModule
。没有这一点也行李>system.webServer |模块
- 它在没有web.config设置的情况下工作
我确实有其他原因,但如果我删除它,那么这个修复仍然有效李> - 我确实在机器的
对话框,但再次删除后仍然有效服务器管理器| Web中安装了服务器功能“Http重定向” 服务器|添加角色服务
routes.RouteExistingFiles = true;