【问题标题】:Routing is not working at Server 2008 R2路由在 Server 2008 R2 上不起作用
【发布时间】:2013-02-21 05:34:54
【问题描述】:

我在我的一个 asp.net 项目中使用路由,它不使用 MVC 架构... 它可以在我的 PC 甚至 Windows Server 2003 上运行。

下面是我的 global.asax 文件代码:

 Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
        If ConfigurationManager.AppSettings("SeoFriendlyUrl") = "true" Then
            RegisterRoutes(RouteTable.Routes)
        End If
    End Sub

    Public Shared Sub RegisterRoutes(routes As RouteCollection)
        routes.MapPageRoute("HomePage", "", "~/index.aspx", True)
        routes.MapPageRoute("SignUpRoute", "SignUp", "~/Register.aspx", True)
        routes.MapPageRoute("WorkWithUsRoute", "Work-With-Us", "~/WorkWithUs.aspx", True)
        routes.MapPageRoute("AdvertiseWithUsRoute", "Advertise-With-Us", "~/AdvertiseWithUs.aspx", True)
        routes.MapPageRoute("PrivacyRoute", "PrivacyPolicy", "~/PrivacyPolicy.aspx", True)
        routes.MapPageRoute("NewsLetterRoute", "Get-Alerts", "~/NewsLetters.aspx", True)
End Sub

我在搜索问题时尝试了以下方法: web.config 中的更改:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

还有:

<system.webServer>    
    <modules runAllManagedModulesForAllRequests="true">    
      <remove name="UrlRoutingModule"/>    
      <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />    
    </modules>    
    <handlers>    
      <add
         name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web,     
          Version=2.0.0.0, Culture=neutral,    
          PublicKeyToken=b03f5f7f11d50a3a"/>    
    </handlers>
</system.webServer>

并使用 Http 重定向

更新了我的 IIS

但对我没有任何作用。

还有没有我遗漏的部分?

编辑: 我收到以下错误,即找不到 404 文件;

【问题讨论】:

    标签: asp.net vb.net routing iis-7.5 windows-server-2008-r2


    【解决方案1】:

    如果不在机器上就很难诊断出这样的事情,可能有很多事情......

    我将从Route Debugger 开始。这将告诉您请求进入时会命中哪些路由。

    其他可能的原因是,.Net 安装不正确。向站点发出请求时,您会看到 IIS 错误页面。如果在安装 .Net 之后安装 IIS,则 ASP_net_regiis 不会运行并且 ASP.Net 没有正确设置。 .Net 框架的版本错误。您可能会认为它只会说“.Net 的错误版本”,但事实并非如此。这听起来可能很愚蠢,但是您是否正在访问该网站?有时我会混淆路线并最终在错误的站点上颠簸。这需要很长时间才能弄清楚。

    【讨论】:

    【解决方案2】:

    我尝试了所有方法一个多小时,然后我意识到我没有将 packages.config 文件复制到实时服务器 - 一旦我这样做了,所有路由都工作了。没有所有 web.config 和 IIS 更改。那个文件对我有用。仅供参考,供其他有此问题的人参考:D

    【讨论】:

    • 欢迎来到 SO!您可能应该将实际答案放在开头,否则可能看起来您在问类似的问题而不是回答它。也不需要打招呼。
    猜你喜欢
    • 1970-01-01
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 2014-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多