ASP.NET التوجيه - هل العرف طرق تخطي تماما كل شيء في عالمي.asax ؟

StackOverflow https://stackoverflow.com/questions/400236

  •  03-07-2019
  •  | 
  •  

سؤال

لدي بسيط ASP.NET 3.5 SP1 نماذج ويب التطبيق...لقد تم إضافة النظام.ويب.التوجيه DLL, و لقد قدم بسيطة الطريق الذي العوائد القياسية ASP.NET صفحة باسم "IHttpHandler".

كل شيء جيد...إلا أن HttpContext.الحالي.المستخدم null ???

لا أكثر من ذلك بقليل حفر (أنا وضعت نقاط التوقف في كل الأحداث العالمية.asax).عادة, هذه نقاط على ضرب (عندما انتقل إلى مستوى ".aspx" صفحة):

  • Application_BeginRequest
  • Application_AuthenticateRequest
  • Application_EndRequest

ولكن عند استخدام ASP.NET التوجيه...أيا من تلك الأحداث اطلاق النار.أنا في عداد المفقودين شيئا ؟

هل كانت مفيدة؟

المحلول

على افتراض أنك تستخدم IIS6 البديل هو تعريف "وايلد كارد" معالج ملحق.إضافة بسيطة هذا "الصيد" جميع الخرائط IIS6 تمكنها من عملية extensionless الطلبات.بشكل افتراضي .صافي المثبت الخرائط ".aspx" إلى aspnet_isapi.dll - لهذا السبب .aspx تمديد يعمل.إلى خريطة الطلبات مع أي امتداد APS.NET المحرك, يجب أن أقول أن ننظر إلى IIS كل طلب.

وهنا سريع المادة التي تشرح عملية:

http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx

على أمل أن يساعد ويقلل من "عرجاء" عامل من عناوين المواقع الخاصة بك.:)

-تود

نصائح أخرى

وجدت غريبة و عجيبة (غبي) الجواب :)

إذا كنت لا تضيف ".aspx" إلى نهاية الطريق ، لا شيء الحرائق في العالم.asax ، وهذا يعني أنك لا تحصل على أي BeginRequest, AuthenticateRequest, EndRequest ، الخ...أيضا, كنت لا تحصل على SessionState أو أي شيء.

لذا ، فإن "الإصلاح" كان بالنسبة لي مجرد تغيير طريقي من هذا:

RouteTable.Routes.Add("Blah", new Route("Blah/{reportName}", new MyHandler());

إلى هذا:

RouteTable.Routes.Add("Blah", new Route("Blah/{reportName}.aspx", new MyHandler());

كيف تماما عرجاء :) ...لكن هذا الإصلاح لا شيء بين بين فإن أقل!

عندما تقول

"إذا كنت لا تضيف ".aspx" إلى نهاية الطريق ، لا شيء الحرائق في العالم.asax ، وهذا يعني أنك لا تحصل على أي BeginRequest, AuthenticateRequest, EndRequest ، الخ...أيضا, كنت لا تحصل على SessionState أو أي شيء."

سوف IIS تسجيل هذه الطلبات في سجل الملفات أو أنها مجرد مجهول ؟ ماذا عن تطبيق المتغيرات ViewState?

آسف لم أجربها بعد ولكن أسأل فقط إذا كنت قد تعرف بالفعل ؟

لقد تحققت من تطبيق متغير Viewstate هذين الواضح أن العامل..غير متأكد حول سجلات الخادم :S

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top