سؤال

كيف يمكنني الحصول على اثنين منفصلة ASP.NET المواقع, في هذه الحالة موقع ويب باستخدام إطار الكيان وخدمة الإنترنت إلى استخدام نفس قاعدة البيانات المحلية mdf & ldf ؟

نظرت حولي وأنا أعتقد أن هذا النوع من DB المحلية يسمى المستخدم سبيل المثال - على الأقل أنها الطريقة أنا حاليا باستخدام ذلك.لم أكن متأكدا مما إذا كان يعمل أو لا حتى وجدت أدناه معلومات من مكتبة MSDN و الآن أنا لست متأكدا مما إذا كان سوف يعمل.

المستخدم سبيل المثال سيناريوهات تشمل:

...

مخصص ASP.NET استضافة باستخدام مصادقة Windows.واحد SQL Server Express سبيل المثال يمكن استضافتها على إنترانت.التطبيق يربط باستخدام ASPNET حساب Windows ، وليس باستخدام التمثيل.المستخدم الحالات لا ينبغي أن تستخدم طرف ثالث أو استضافة مشتركة سيناريوهات حيث جميع التطبيقات سوف تتقاسم نفس المستخدم مثيل و لن تبقى معزولة عن بعضها البعض.

سيكون هذا العمل على الفور دون أي تكوين إضافي?عند محاولة إضافة DB أن كل متتالية التطبيق ، أحصل على الملف في استخدام الخطأ إذا كان أي شيء آخر هو استخدام DB الذي يقودني إلى الاعتقاد بأن كنت لا تستطيع أن تفعل ذلك بهذه الطريقة.ومع ذلك ، إذا توقفت عن DB من استخدامها ، ثم إضافته ، ثم بداية الأمر ، يبدو للعمل بشكل جيد.هل لدى أحدكم أي الطمأنينة بالنسبة لي أنه لن تكون تالفة أو تجربة أي أخطاء باستخدام هذه الطريقة ؟

ويفضل mdf & ldf أن تكون مخزنة في موقع ويب App_Data الدليل (|DataDirectory|).إذا كنت تفعل ذلك بهذه الطريقة, أنا لا أعتقد أنني يمكن الاعتماد استخدام النسبية التصدي لهذه الخدمة إلا إذا وضعته في دليل فرعي على الموقع هل هذا صحيح ؟

تحرير: أنا باستخدام SQL Server Express لأن هذه هي مهمة المدرسة حتى أصبحت استخدامه.إذا كان هناك طريقة دون مثيل المستخدم سأحاول أن تفعل دون ذلك.

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

المحلول

لا يمكنك استخدام User Instance من أجل هذا.هذا يسمح فقط عميل واحد في وقت واحد للاتصال قاعدة البيانات الخاصة بك.عندما اثنين من التطبيقات استخدام نفس بيانات الاعتماد ، يمكنك الحصول على خطأ تصفون.عندما اثنين من التطبيقات استخدام بيانات اعتماد مختلفة ، أساسا الحصول على حالتين منفصلتين (أيضا ليست على ما تريد).

إلى جانب المستخدم الحالات معتمدة فقط على SQL Server Express.أنا لا أعرف ماذا بيئة الإنتاج يبدو ، ولكن ربما لا تعمل على SQL Server Express?

يجب عليك استخدام AttachDBFilename في سلسلة الاتصال من تطبيق الويب الخاص بك للإشارة إلى قاعدة البيانات المحلية: AttachDBFilename=|DataDirectory|\MyDB.mdf.

في خدمة الويب الخاص بك يمكنك أيضا استخدام AttachDBFilename ولكن ذلك يعتمد على نشر موقع ويب الخدمة حيث أن نشير إلى.

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