حدد ما إذا كان SQLDEPendency.Start (ConnectionString) قد تم استدعاؤه في المشروع الحالي؟

StackOverflow https://stackoverflow.com/questions/8971852

سؤال

تستخدم تطبيقاتنا الكثير من المكونات المشتركة.بعضها ليس لديهم حاجة للتخزين المؤقت، على سبيل المثال، خدمات Windows التي تعالج رسائل البريد الإلكتروني غير المنسقة.كنت أبدا ذاكرة التخزين المؤقت هذه النتيجة مجموعة ... مشكلة

هي، نظرا لأن طبقة البيانات المشتركة لدينا قد تم تعديلها لاستخدام SQLCachedePendency، فإن خدماتنا التي لا تبدأ SQLLDEPendency تفشل في مكالمات قاعدة البيانات حيث تطلب طبقة البيانات كائن SQLCachedePendency.

مما يؤدي إلى السؤال - هل هناك طريقة لفئات بياناتنا لاختبار لمعرفة ما إذا كانت خدمة الوسيط هي الاستماع (أي: هل تم استدعاء SQLDEPendency.Start (ConnectionActring))؟

كائن SQLDEPendency نفسه لا يوجد لديه خاصية ممكنة أو مشابهة.هل هناك أي طريقة لإجبار تطبيق الاتصال على أخبر أن SQLCaching قيد الاستخدام لطبقة البيانات لتحديد الحالة؟

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

المحلول

إلى حد كبير الجواب لا.انتهى بنا المطاف إضافة متغير التكوين أنه إذا كان false أو غير موجود، يسبب طلب استخدام sqlcachedePendency ليتم تخطيها.

نصائح أخرى

حدد * من sys.service_queues حيث اسم مثل "SQLQueryNotiCkervice -٪ '

إرجاع "SQLQueryNotiCkervice- [بعض GUID]"

وإذا نظرت بعمق في الأعضاء غير العامين في SQLDEPendency _serveruserhash أثناء تصحيح الأخطاء في IDE، ستجد مجموعة تحتوي على نفس الإدخال.إذا كانت Microsoft ستكون لطيفة جدا لفضح ذلك، فعندئذ نعم.

في حالتي، لدي مكتبة فئة تستخدمها بعض تطبيقات الويب.لذلك ليس لدي app.config.أنا أيضا استخدام SQLCachedePendency في حدث ثابت.لذلك أنا أستخدم منطقية ثابتة مثل: giveacodicetagpre.

حتى الآن يعمل، لكنني منفتح على الاقتراحات عند استخدام مكتبات الفصل.

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