سؤال

يقوم فريقي بالترقية من ASP.NET 3.5 إلى ASP.NET 4.0. نحن نستخدم حاليًا Helicon isapi rewrite لتعيين خريطة http://localhost/<account-name>/default.aspx إلى http://localhost/<virtual-directory>/default.aspx?AccountName=<account-name> أين <account-name> هو متغير سلسلة الاستعلام و <virtual-directory> هو دليل افتراضي (بشكل طبيعي).

قبل ترقية tilde (~) http://localhost/<account-name>/... (وهو ما أريد أن يفعله) وبعد الترقية يحل Tilde إلى http://localhost/<virtual-directory>/... مما يؤدي إلى خطأ لأن <account-name> سلسلة الاستعلام مطلوبة.

أرغب في تجنب السير في طريق استبدال كل شيء بالمسارات النسبية لأن هناك العديد من الميزات في نظامنا تستخدم عنوان URL بأكمله بدلاً من المسار النسبي.

لما يستحق ، أستخدم IIS7 في Windows 7 و Visual Studio 2010 مع ASP.NET 4.0 و 64 بت Isapi إعادة كتابة. إذا عدت إلى إصدار ASP.NET 3.5 ، فإنه لا يزال يعمل بشكل جيد (يقودني إلى تصديق لم يتغير شيء في IIS ما لم يكن ضمن مجموعة التطبيقات 4.0 - عندما أقوم بالتبديل بين 3.5 و 4.0 ، لا بد لي من تغيير تجمع التطبيق في IIS).

أيه أفكار؟ شكرا مقدما!

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

المحلول

IIS 7 لديه دعم إعادة توجيه HTTP لائق. لذلك قد لا تحتاج إلى استخدام مرشح ISAPI بعد الآن

http://technet.microsoft.com/en-us/library/cc732969(ws.10).aspx

طريقة أخرى حول استخدام ISAPI هي استخدام وحدة HTTP Redirect.

http://weblogs.asp.net/fmarguerie/archive/2004/11/18/265719.aspx

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