Это показывает 404, когда я запускаю ASP.NET Development Server и перехожу на "http://localhost:6521/WebSite1/about"
. Я подготовил образец веб-приложения, который дал мне страницы" О нас "и" Default.aspx ". По умолчанию. ASPX странице, я написал следующий код ....
Default.aspx.cs код
protected void Page_Load(object sender, EventArgs e)
{
Response.Redirect(Page.GetRouteUrl("AboutRoute",
new { ID = "Evgenyt" }));
}
Global.asax.cs код
public class Global : System.Web.HttpApplication
{
private void RegisterRoute(RouteCollection Routes)
{
Routes.MapPageRoute("AboutRoute", "about/{ID}", "~/About.aspx");
}
void Application_Start(object sender, EventArgs e)
{
RegisterRoute(RouteTable.Routes);
// Code that runs on application startup
}
}
Затем я опубликовал код и настроил его в IIS. Теперь, когда запрос достигает IIS, он перенаправил сообщение в расширение ISAPI aspnet_isapi.dll. Расширение ISAPI затем загрузило страницу default.aspx, выполнило ее и вернулоего обработанный HTML-код для IIS, и, наконец, IIS затем отправляет его обратно клиенту.
Результирующий URL
http://localhost/Demo/about/Evgenyt
Фактический URL
http://localhost/Demo/AboutUs.aspx
Что мне нужно изменить в web.config, чтобы сервер разработки работал так же, как IIS (правильно обрабатывает URL-адреса без расширений)?
Ссылка - В отличие от URLMapping
, URLRouting не происходит в Web.config.может быть реализовано с использованием кода.Вы можете использовать Application_Start Event, как указано в вашем коде в файле Glogal.asax.cs, чтобы зарегистрировать все маршруты для вашего приложения.Для регистрации маршрута вы можете использовать RouteTable
класс в System.Web.Routing
пространстве имен.