URL маршрутизации на сервере 404 ошибка - PullRequest
0 голосов
/ 20 января 2012

Раньше делал когда сервер маршрутизации. У меня проблема. Нет проблем, если http://myweb.com/news/22*.aspx* Но Если http://myweb.com/news/22 проблема: 404 - Файл или каталог не найдены.

в локальных нет проблем, но ошибка сервера Даже когда .HTML или .jsp я использую В чем проблема?

id сделать это:

global.asax

void Application_Start(object sender, EventArgs e)
{
    RegisterRoutes(RouteTable.Routes);
}

public static void RegisterRoutes(RouteCollection routes)
{
     routes.Add("News", new Route("News/{ID}",new CustomRouteHandler("~/News/News.aspx")));
}

CustomRouteHandler.cs класс:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.Routing;
using System.Web.Compilation;

public class CustomRouteHandler : IRouteHandler
{
    public CustomRouteHandler(string virtualPath)
    {
        this.VirtualPath = virtualPath;
    }

    public CustomRouteHandler()
    {
    }

    public string VirtualPath { get; private set; }

    public IHttpHandler GetHttpHandler(RequestContext
          requestContext)
    {
        var page = BuildManager.CreateInstanceFromVirtualPath
             (VirtualPath, typeof(Page)) as IHttpHandler;
        return page;
    }
}

web.config:

    <add assembly="System.Web.Routing, Version=3.5.0.0,Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule,System.Web.Routing, Version=3.5.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35" />

<add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler,System.Web, Version=2.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />

ссылка:

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/news/22" Text="News"></asp:HyperLink>

1 Ответ

0 голосов
/ 20 января 2012

попробуйте это в разделе модулей

<remove name="UrlRoutingModule" />
      <add name="UrlRoutingModule" 
         type="System.Web.Routing.UrlRoutingModule, 
               System.Web.Routing, 
               Version=3.5.0.0, 
               Culture=neutral, 
               PublicKeyToken=31BF3856AD364E35"/>

и это в разделе обработчиков

<add name="UrlRoutingHandler" 
         preCondition="integratedMode" 
         verb="*" 
         path="UrlRouting.axd" 
         type="System.Web.HttpForbiddenHandler, 
               System.Web, Version=2.0.0.0, 
               Culture=neutral, 
               PublicKeyToken=b03f5f7f11d50a3a" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...