سؤال

أقوم ببعض العمل مع الويب. البحث ، باستخدامه للحصول على عناوين URL ودية وراحة لطيفة مثل واجهات إلى موقع يتم تقديمه بشكل أساسي بواسطة ihtphandler واحد. لا توجد مواقع ويب ، يقوم المعالج بإنشاء جميع HTML/JSON ويكتبها كجزء من طلب العملية.

هذا يعمل بشكل جيد لأشياء مثل/المواقع/المحاسبة على سبيل المثال ، لكن لا يمكنني تشغيلها في جذر الموقع ، أي "/".

لقد حاولت تسجيل مسار بسلسلة فارغة ، مع "default.aspx" (وهو ملف ASPX الفارغ الذي أحتفظ به في مجلد الجذر الخاص بي للعب بشكل جيد مع Cassini و IIS). لقد قمت بتعيين RouteExistingFiles على False بشكل صريح ، ولكن مهما كنت أفعل عند الضغط على عنوان URL الجذر ، فإنه لا يزال يفتح الافتراضي. AXPX ، الذي لا يوجد به رمز يرث منه ، ويحتوي على علامة H1 بسيطة لإظهار أنني ضربته.

لا أرغب في تغيير الملف الافتراضي لإعادة توجيه إلى مسار مرغوب فيه ، أريد فقط ما يعادل طريق "افتراضي" يتم تطبيقه عند عدم العثور على طرق أخرى ، على غرار MVC.

للرجوع إليها ، لم يستخدم الإصدار السابق من الموقع Web.Routing ، ولكن تم الإشارة إلى معالج في الويب.

المواصفات: ASP.NET 3.5SP1 ، C#، لا WebForms ، MVC أو OpenRasta. Ihttphandlers القديم البسيط.

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

المحلول

تم إصلاح مشكلتي الخاصة: المشكلة هي خادم الويب المتكامل أو Cassini أو بعضها. يبدو أنه لا يتم تشغيله بشكل جيد مع التوجيه ، وسيقوم بشكل افتراضي بإرجاع ملف default.aspx أو ، إذا كان مفقودًا ، يُظهر قائمة الدليل.

إن استخدام IIS مع دليل افتراضي يعمل بشكل جيد ، ولكنه مزعج (يحبط مشاركي الكود لأنهم بحاجة إلى إعداد أدلة افتراضية جديدة عندما يفتحون تطبيقي ، ويلوث مثيل IIs الخاص بي. باه. ربما ما سأفعله في الوقت الحالي ، أو قم بإعداد تطبيق جديد يدويًا حتى أتمكن من استخدام مسار مضيف المجال فقط مثل ما سيكون موجودًا في Live.

البديل هو استخدام الإصدار المحدث من كاسيني ، كما شوهد هنا, ، الذي يعمل إذا كان ملف default.aspx مفقودًا ، لكنني لم أحمل كيفية دمجه مع Visual Studio حتى الآن. سيكون موضع تقدير أي مساعدة ، ولكن ليس أولوية كبيرة بالنظر إلى أن لديّ حلول.

نصائح أخرى

أدرك أن هذا منشور قديم حقًا ، لكنني واجهت نفس المشكلة باستخدام VS2012 ، لذلك أقوم بنشر هذا هنا فقط في حالة.

لقد حلت المشكلة عن طريق التثبيت IIS Express وتعيين المشروع لاستخدام IIS Express في Visual Studio. حل المشكلة.

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