سؤال

كنت تخطط لاستخدام توجيه محدد موقع ويب أشكال التطبيق.ولكن بعد قراءة بعض وظائف, أنا لست متأكدا إذا كان هذا هو نهج سهل.

أنه من الأفضل استخدام إعادة كتابة URL وحدة على شبكة الإنترنت الأشكال ؟ ولكن هذا هو فقط من أجل IIS7.في البداية ، كان هناك بعض الطنانة عنوان URL هذا التوجيه هو تماما تنفصل عن Asp.Net MVC و أنها يمكن أن تستخدم في "نماذج ويب".

أحب أن أسمع أي اقتراحات..

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

المحلول

هناك وظيفة كبيرة هنا عن الاختلافات بين اثنين من الأعضاء IIS الفريق.

التحذير واحدة أنصح هي أن WebForms, عليك أن تكون حذرا عند استخدام التوجيه.لقد كتبت عينة تنفيذ كيف يمكنك استخدام التوجيه مع WebForms تعالج هذه المخاوف ونأمل أن يساعد في الإجابة على سؤالك.

نصائح أخرى

هذا أفضل مقال وجدته عن هذا الموضوع: IIS إعادة كتابة عنوان الموقع ، ASP.NET التوجيه بواسطة رسلان Yakushev.

IIS إعادة كتابة عنوان الموقع

عندما يجعل العميل طلب إلى ملقم ويب معين URL URL rewriting مكون يحلل URL المطلوب و التغييرات إلى مختلف عنوان آخر على نفس الخادم.URL rewriting عنصر يعمل في وقت مبكر جدا في معالجة الطلب أنابيب لذلك هو قادرا على تعديل عنوان URL المطلوب من قبل ملقم ويب يجعل قرار حول أي معالج لاستخدامها في معالجة الطلب.

IIS URL Rewriting

ASP.NET التوجيه

ASP.NET التوجيه يتم تنفيذها كما تدار رمز الوحدة التي توضع داخل IIS طلب تجهيز خط أنابيب في حل ذاكرة التخزين المؤقت المرحلة (PostResolveRequestCache الحدث) في الخريطة معالج المرحلة (PostMapRequestHandler).ASP.NET التوجيه هو تكوين لتشغيل جميع الطلبات المقدمة إلى تطبيق ويب.

IIS URL Routing

الاختلافات بين إعادة كتابة عنوان الموقع ، ASP.NET التوجيه:

  1. إعادة كتابة عنوان الموقع يستخدم للتلاعب URL مسارات قبل طلب يتم التعامل معها من قبل ملقم ويب.URL-إعادة صياغة وحدة لا يعرف أي شيء عن ما معالج في نهاية المطاف عملية إعادة كتابة URL.وبالإضافة إلى ذلك ، فإن الطلب الفعلي معالج قد لا تعرف أن عنوان URL تم إعادة كتابة.
  2. ASP.NET التوجيه يستخدم إرسال طلب إلى معالج بناء على طلب مسار URL.بدلا من إعادة كتابة عنوان الموقع ، التوجيه مكون يعرف عن معالجات و يختار معالج ينبغي أن تولد استجابة URL المطلوب.يمكنك التفكير ASP.NET التوجيه المتقدمة من معالج رسم الخرائط الآلية.

وبالإضافة إلى هذه الاختلافات المفاهيمية ، هناك بعض الاختلافات الوظيفية بين IIS إعادة كتابة عنوان الموقع ، ASP.NET التوجيه:

  1. IIS URL-كتابة وحدة يمكن استخدامها مع أي نوع من تطبيقات الويب ، والتي تشمل ASP.NET, PHP, ASP, الملفات الثابتة.ASP.NET التوجيه يمكن استخدامها فقط مع .الإطار الصافي-بناء تطبيقات الويب.
  2. IIS URL-كتابة وحدة يعمل بنفس الطريقة بغض النظر عما إذا المتكاملة أو الكلاسيكية IIS وضع خط أنابيب يستخدم تجمع التطبيقات.بالنسبة ASP.NET التوجيه ، فمن الأفضل استخدام وضع خط أنابيب المتكاملة.ASP.NET التوجيه يمكن أن تعمل في وضع كلاسيكي ، ولكن في هذه الحالة تطبيق عناوين يجب أن تشمل امتداد الملف أو التطبيق يجب أن يتم تكوين استخدام "*" معالج رسم الخرائط في IIS.
  3. URL-كتابة وحدة يمكن أن تجعل إعادة صياغة القرارات استنادا إلى أسماء رؤوس HTTP server المتغيرات.بشكل افتراضي ، ASP.NET التوجيه يعمل فقط مع رابط مسارات مع HTTP-طريقة رأس.
  4. بالإضافة إلى إعادة كتابة URL كتابة وحدة يمكن أن تؤدي إعادة توجيه HTTP, الموضوع مخصص رموز الحالة و إحباط الطلبات.ASP.NET التوجيه لا يتم تنفيذ تلك المهام.
  5. URL-كتابة الوحدة غير القابلة للتوسيع في نسخته الحالية.ASP.NET التوجيه هو للمد بالكامل وقابلة للتخصيص.

هل تريد تنسيق عناوين url إلى مصنع تفريخ الصفحات ؟

أو هل تريد أن تجعل .aspx تذهب بعيدا ؟

إعادة كتابة هو لجعل .aspx تذهب بعيدا ، أو فقط لترتيب url.

التوجيه هو النظر في طلب تحديد الكائن الذي ينبغي التعامل معها.أنها تبدو مماثلة ، فيل haack لديه بضع مقالات جيدة حول هذا الموضوع.

في iis6 ، isapiRewrite, هو جيد جدا

كنت مؤخرا قد كتبت للتو بلدي إعادة كتابة نظام لجعل عناوين المواقع على مواقع تبدو أفضل.في الأساس, وأنت تسير في حاجة إلى الكتابة الخاصة بك IHttpModule وإضافته إلى موقعك على الويب.التكوين لاعتراض الطلبات الواردة.ثم يمكنك استخدام HttpContext.الحالي.RewritePath أن تغير ما أنت تشير إلى.

سوف تحتاج أيضا إلى تكوين موقع الويب الخاص بك استخدام aspnet_isapi على كل شيء.

سوف تكتشف الكثير من المشاكل الصغيرة على طول الطريق مثل محاولة العمل مع الصفحات التي تستخدم "ذيول" عليها (مثل PageMethods) ، أو تحديد المسارات من عناصر الصفحة و شكل postbacks ، ولكن ستحصل من خلالها.

اذا كانت مهتمة, أنا يمكن نشر رابط المدونة ويمكنك التحقق من ذلك.لقد عملت الكثير من المشاكل بالفعل لذلك يمكنك أن تقرأ من خلال ذلك كما تذهب.أنا متأكد من أن هناك الكثير من الناس الذين قد فعلت هذا فضلا عن أنه قد يكون من موارد جيدة كذلك.

قد تحتاج إلى تحقق من بلدي الجواب على هذا السؤال: ASP.NET بناء الخاصة بك نظام التوجيه.أنا وتشمل بعض مراجع جيدة للمساعدة في بناء الخاصة بك نظام التوجيه إما باستخدام url rewriting أو أسلوب جديد محرك التوجيه التي يمكنك استخدامها التي خرجت من ASP.NET MVC المشروع.

ديناميكية بيانات المشروع التي تتوفر مع .Net framework 3.5 SP1 يظهر مثال جيد url التوجيه التنفيذ.

من أجل إعادة كتابة عنوان الموقع على IIS ، IIRF يعمل في IIS5, 6, 7.مجانا.من السهل.سريع.مفتوحة المصدر.دعم التعبير العادية.

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