سؤال

أولا، أنا لا أعرف إذا كان ذلك ممكنا، ولكن اسمحوا لي أن أصف السيناريو بلدي.

ولدي مجموعة من الخدمات WCF، قاعدة بيانات SQL سيرفر 2008 كلها تعمل على Windows Server 2008. كل هذا يعمل بشكل جيد وأنا عندما متصلة LAN بلدي، ولكن أنا ذاهب إلى استخدام هذا الإطار لعرض، و وأود أن تجعل من العمل في وضع مستقل (أي ليس متصلا بأي شبكة).

وعندما أحاول القيام بذلك في وضع مستقل، تظهر قاعدة بيانات SQL Server ليكون العمل (وأنا قادرة على استرداد البيانات). ولكن عندما أحاول وادخال البيانات داخل نطاق المعاملات من خدمات WCF، على جانب العميل أنا على الحصول على استثناء خطأ الاتصالات. التحقق من سجلات الأحداث ويندوز، وأرى أن هناك رسالة على غرار "واجه MSDTC خطأ أثناء محاولة تأسيس اتصال آمن مع النظام".

لا أحد يعرف ما يجب تعيين على DTC للسماح لهذا العمل

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

المحلول

في سياق ما حدث، الخطأ الآن يجعل الشعور بالكمال.

وكانت المشكلة هنا أنه في مكان ما في أحد التطبيقات المنتشرة على الخادم، كنا الإشارة إلى اسم نظام أسماء النطاقات ضمني التي كان يتعذر الوصول إليها من قبل هذا الخادم (لأنه كان مستقل). من ما أفهم، حاول DTC إلى تدفق هذه الصفقة، فشلت في إثبات العنوان من اسم الكمبيوتر وكان ذلك حيث قصفت بها. كما كان تطبيق خدمة WCF، تم تشفيرها الخطأ بشكل جيد جدا، ولكن في النهاية نحن تتبع عن طريق تشغيل تتبع الخدمة.

وعلى أمل أن يساعد أي شخص آخر أن واجه خطأ مشابهة. حذار قيم ضمنية.

نصائح أخرى

ويمكن أن يكون على علاقة مع سلسلة الاتصال استخدام خدمات WCF للاتصال قاعدة البيانات. حاول استخدام = مصدر البيانات. أو مصدر بيانات = المضيف المحلي، لضمان كنت تستخدم محول شبكة الاسترجاع (127.0.0.1).

هل هناك جدار حماية يعمل على جهاز ويندوز؟ هو الجزء خادم المجال؟

وأود أن أقترح أيضا النظر إلى الحوار إعدادات الأمان من MS DTC (خدمات المكونات MMC المساعد). حاول إعداد "عملية مدير الاتصالات" إلى "لا مطلوب مصادقة" وموقوتة معظم الخيارات الأخرى كخط قاعدة.

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