سؤال

في تطبيق ASP.NET الخاص بي ، لدي ملف web.config. في ملف web.config لدي سلسلة اتصال ...

<connectionStrings>
    <add name="HRDb" connectionString="xxxxx" providerName="System.Data.SqlClient" />
</connectionStrings>

ومع ذلك ، عندما أسترجع هذه القيمة باستخدام ConfigurationManager.ConnectionStringsp["HRDb"], ، أحصل على سلسلة الاتصال القديمة ، وليس تلك الجديدة.

في أي مكان آخر (بصرف النظر عن web.config) يفعل ConfigurationManager قراءة قيم سلسلة الاتصال من؟

أقوم بتشغيل التطبيق من Vs.Net (لا يتم نشره في IIS).

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

المحلول

لقد اكتشفت ما كان يحدث.

للإجابة على سؤالي الخاص ... يقرأ ConfigurationManager فقط من web.config.

كانت مشكلتي هو تكوين المشروع لاستخدام خادم الويب IIS عند تشغيل المشروع بدلاً من استخدام خادم Visual Studio Development. لذلك كنت في الواقع أقوم بتشغيل نسخة قديمة من طلبي. سخيف.

نصائح أخرى

من الممكن أيضًا ، على الرغم من أنه من غير المحتمل أن يكون لديك سلسلة اتصال محددة في "الوالد". حاول إضافة أ <clear /> عنصر قبل <add> عنصر.

أين تم تخزين القيمة "القديمة"؟ هل هو في ملف تكوين مختلف؟ يجب أن يسحب مدير التكوين فقط من ملفات التكوين ، ولكن يمكن أن يكون هناك ملفات متعددة للتطبيق. هل جزء من عملية الإنشاء الخاصة بك نسخ في ملف قديم؟

لقد واجهت مشكلة مماثلة ، حيث كان الحل هو أنني كنت أحمل الويب الخاطئ.

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