c# - IIS didn't see my routes -
i have asp net web site ,and works fine when open on iis express. when deployed on iis server have such problem:
when app starting taking parametrs url , generate links categories panel . when start app visual studio if have link this:
http://localhost:49591/pages/main35.aspx?idrole=35&mcod=0
links categories generates right page - main34.aspx .
when open iis generate links main.aspx.
whan need make work on iis right to? didn't understand i'm doing wrong. rules written in routeconfigs :
public static void registerroutes2(routecollection routes) { routes.mappageroute(null, "pages/main.aspx/{role}/{status}/{page}", "~/pages/main.aspx"); routes.mappageroute(null, "pages/main.aspx/{status}/{page}", "~/pages/main.aspx"); routes.mappageroute(null, "pages/main.aspx/{page}", "~/pages/main.aspx"); routes.mappageroute(null, "pages/main.aspx", "~/pages/main.aspx"); routes.mappageroute(null, "", "~/pages/main.aspx"); } public static void registerroutes3(routecollection routes) { routes.mappageroute(null, "pages/main35.aspx/{role}/{status}/{page}", "~/pages/main35.aspx"); routes.mappageroute(null, "pages/main35.aspx/{status}/{page}", "~/pages/main35.aspx"); routes.mappageroute(null, "pages/main35.aspx/{page}", "~/pages/main35.aspx"); routes.mappageroute(null, "pages/main35.aspx", "~/pages/main35.aspx"); routes.mappageroute(null, "", "~/pages/main35.aspx"); } ; and global.asax
protected void application_beginrequest(object sender, eventargs e) { //var url = httpcontext.current.request.url; httpapplication app = (httpapplication)sender; // attempt peform first request initialization var host = firstrequestinitialisation.initialise(app.context); } class firstrequestinitialisation { public static string url = httpcontext.current.request.url.tostring(); //uri myuri = new uri(url); private static string host = null; private static object s_lock = new object(); // initialise on first request public static string initialise(httpcontext context) { if (string.isnullorempty(host)) { lock (s_lock) { if (string.isnullorempty(host)) { var uri = context.request.url; var query = httputility.parsequerystring(uri.query); var sd = query.get("idrole"); if (sd != "") { if (sd == "34") { routeconfig.registerroutes(routetable.routes); } if (sd == "24") { register2.registerroutes2(routetable.routes); } if (sd == "35") { register3.registerroutes3(routetable.routes); } } else { register2.registerroutes2(routetable.routes); } } } } return host; } }
Comments
Post a Comment