سؤال

أعلم أن هناك طريقتين على الأقل للاستفادة من ملف web.config:

الآن، مشكلتي هي أن كلا النهجين يعملان بشكل جيد فقط للمسارات المادية.لكني بحاجة إلى معالجة ملف التكوين الموجود في ملف الدليل الظاهري.

ما هي الطريقة الأخرى التي يمكنني استخدامها لوضع موارد التكوين الخاصة بي في دليل ظاهري؟

ملحوظة:أريد أن أفعل ذلك بهذه الطريقة، لأن لدي مثيلات متعددة لتطبيق الويب الخاص بي على نفس الخادم (وذلك على العديد من الخوادم).للحفاظ على عملية النشر سهلة ونظيفة، أريد الاحتفاظ بدليل واحد لجميع الملفات (aspx، ascx، الصور، css، js وما إلى ذلك) وتوجيه تطبيقات الويب في IIS لعملاء مختلفين (= المجالات، https وما إلى ذلك) إلى هذا دليل واحد.في كل ويب IIS سيكون لدي دليل ظاهري يسمى "مخصص" والذي يشير إلى مجلد مختلف لكل ويب.

تحديث: أود أن أشير إلى أن هذا الدليل الظاهري "المخصص" غير مناسب ليحتوي على web.config الموروث - وأن web.config سيكون صالحًا فقط للمجلد المخصص الذي لا يحتوي على ملفات aspx/ascx.

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

المحلول

لدي نفس السيناريو وبعد قراءة مشاركتك أدركت أن asp.net لن يسمح لك بالقيام بذلك لأسباب أمنية مختلفة.

لذلك لجأت إلى نظام التشغيل للعثور على ما يعادل وظيفة الارتباط الناعم في Linux والتي قادتني بدورها إلى فائدة تقاطع من sysinternals.يمكن أن يؤدي هذا إلى إنشاء دليل هو في الواقع أي دليل آخر على هذا المجلد ولا يمكن لـ asp.net معرفة الفرق ويسعد جدًا بتحميل أقسام التكوين التي ليست موجودة بالفعل في دليل فرعي لموقع الويب الخاص بك.تناسبني :)

نصائح أخرى

يمكن تعيين الدلائل الافتراضية كتطبيقات، ويمكنك فقط وضع web.config آخر هناك.

سوف يرث أي تغييرات من التكوين الأصلي، ويمكنك إضافة إعدادات مخصصة فيه.

كنت أتطلع إلى فعل الشيء نفسه ولكنه لم ينجح ، لذلك قررت أن أفعل العكس ، كما تعلم ، يمكن توريث web.config ، لذلك أشرت إلى IIS إلى مجلد يحتوي على ملفات تكوين العميل (سلسلة الاتصال ، مسار الملف ، إلخ) وملفات موقع الويب التي أضعها في دليل افتراضي مع بقية webconfig (حيث يتم تحميل dll وملفات التطبيق الأخرى المطلوبة) لذلك يمكنني بشكل أساسي استخدام ملفات موقع الويب لتجميع العملاء والعملاء باستخدام سلسلة اتصال قاعدة البيانات الخاصة بهم وإعدادات العميل المحددة الأخرى.

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