मैं सिस्टम.Web.Routing का उपयोग कर एएसपी.NET यूआरएल रूटिंग को कार्यान्वित करने की कोशिश कर रहा हूं। और यह मेरे लोकहोस्ट पर ठीक काम करता प्रतीत होता है हालांकि जब मैं लाइव जाता हूं तो मुझे आईआईएस 7 की 404 त्रुटि मिलती है (फ़ाइल नहीं मिली)। एफवाईआई होस्टिंग विंडोज सर्वर 2008 आईआईएस 7 का उपयोग करता है।आईआईएस 7 होस्टिंग पर्यावरण में यूआरएल रूटिंग प्राप्त करने के लिए मेरे सिर को तोड़ना: एएसपी.नेट
मुझे लगता है कि यह रूटिंग तंत्र को संभालने में कुछ अंतर कर रहा है। लेकिन मैं यह समझने में सक्षम नहीं हूं कि वास्तव में क्या हो रहा है। नीचे दी गई सेटिंग्स और बदलाव हैं जिन्हें मैंने अभी तक काम करने के लिए बनाया है और खुद को कुछ श्रेय देने के लिए यह स्थानीय रूप से बिल्कुल ठीक काम करता है।
Web.Config सेटिंग
और फिर मैं एक system.webserver अनुभाग में निम्न मार्कअप है कि
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true">
<remove name="Session" />
<add name="Session" type="System.Web.SessionState.SessionStateModule"/>
<add name="UrlRoutingModule"
type="System.Web.Routing.UrlRoutingModule,
System.Web.Routing, Version=3.5.0.0,
Culture=neutral,
PublicKeyToken=31BF3856AD364E35" />
</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>
फिर Application_Start खंड में मैं एक मार्ग के रूप में परिभाषित किया है निम्नानुसार है:
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
void RegisterRoutes(RouteCollection routes)
{
routes.Add(
"MyRoute",
new Route("ProductDetail/{ProductId}/{ProductName}",
new MyRouteHandler("~/ProductDetail.aspx")));
}
अंत में MyRouteHandler इस प्रकार दिखता है:
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
var display = (Page)BuildManager.CreateInstanceFromVirtualPath(
_virtualPath, typeof(Page));
HttpContext.Current.Items["ProductId"] = requestContext.RouteData.Values["Product"];
return display;
}
और कराई पृष्ठ पर मैं उत्पाद आईडी हथियाने रहा हूँ के रूप में
ProductId = (int)HttpContext.Current.Items["Product"];
इस प्रकार है और ये मेरे गंदगी का अंत है। और यह स्थानीय रूप से ठीक काम करता है। मैं थोड़ी देर के लिए यह कोशिश कर रहा हूं लेकिन अब तक सफल नहीं हुआ।
किसी भी सहायता को स्वीकार किया जाएगा।
धन्यवाद ...
क्या आपके पास कोई पुनर्लेखन नियम लागू है? प्रतिक्रिया के लिए – Rony