0
프레임 워크 3.5가있는 웹 사이트 및 Classic.NET AppPool에서 실행되는 IIS에서 URL 라우팅 (System.Web.Routing)을 사용하고 있습니다. 내 Web.config의는 다음과 같이이다 :Classic .NET AppPool의 라우팅 및 웹 사이트 문제
protected void Application_Start(object sender, EventArgs e)
{
Debugger.Break();
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.Add("BikeSaleRoute", new Route
(
"bikes/sale",
new CustomRouteHandler("~/Contoso/Products/Details.aspx")
));
routes.Add("Teste", new Route("teste", new CustomRouteHandler("~/Teste.aspx")));
}
그래서 내 CustomRouteHandler이입니다 :
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
< /assemblies>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, 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"/>
</httpModules>
내 Global.asax에이처럼
public class CustomRouteHandler : IRouteHandler
{
public CustomRouteHandler(string virtualPath)
{
this.VirtualPath = virtualPath;
}
public string VirtualPath { get; private set; }
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
HttpContext.Current.RewritePath(String.Format("{0}", VirtualPath));
var page = BuildManager.CreateInstanceFromVirtualPath
(VirtualPath, typeof(Page)) as IHttpHandler;
return page;
}
}
내가 주소 로컬 호스트에 액세스
/WebSiteTesteRoteamento /, 사이트가로드됩니다. 하지만 주소 localhost/WebSiteTesteRoteamento/bikes/sales 또는 localhost/WebSiteTesteRoteamento/teste에 액세스 할 때 404 오류가 나타납니다. 누군가 나를 도와?