-1

我在我的一个 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 Redirection更新了我的 IIS

但没有什么对我有用。

还有其他我遗漏的部分吗?

编辑: 我收到以下错误,即找不到 404 文件; 在此处输入图像描述

4

2 回答 2

0

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

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

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

于 2013-02-21T05:46:00.570 回答
0

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

于 2015-11-20T19:16:54.707 回答