Runtime: الحل البديل للتطبيقات التي تعتمد على DTC فيما يتعلق بالتحويل إلى NetCore 3.0

تم إنشاؤها على ٥ ديسمبر ٢٠١٩  ·  3تعليقات  ·  مصدر: dotnet/runtime

الجميع،

إذا كان تطبيق netcore الخاص بك يلتف اتصالات متعددة في نطاق المعاملات ، فستتلقى خطأ وقت التشغيل:
"هذه المنصة لا تدعم المعاملات الموزعة."

أتساءل ما هو أفضل حل بديل لتطبيقات الويب التي يتم نقلها إلى netcore3 ، والتي تستخدم DTC. هل يجب إعادة البناء باستخدام نمط UnitOfWork؟

لا أرغب في إدارة الاتصالات في طبقة الأعمال الخاصة بي ، وهو ما ساعدت به TransactionScope.

شكرا!

متعلق ب:
العدد المفتوح: https://github.com/dotnet/corefx/issues/13532
Stack Overflow: https://stackoverflow.com/questions/56328832/transactionscope-throwing-exception-this-platform-does-not-support-distributed-t

area-System.Transactions untriaged

التعليق الأكثر فائدة

نحن نرغب أيضًا في الانتقال من .NET Framework إلى .NET Core وواجهنا حقيقة أن DTC غير مدعوم مع TransactionScope والذي يبدو وكأنه كسر للصفقات من حيث قدرتنا على النقل إلى .NET Core.

حالات الاستخدام المحددة لدينا هي:

  1. نحتاج إلى الكتابة إلى جدولين مختلفين لقاعدة البيانات موجودان على خادمي SQL منفصلين والتأكد من أنهما جميعًا ملتزمان بقاعدة البيانات ذريًا وهو ما نقوم به اليوم بنجاح باستخدام TransactionScope و DTC.
  2. نحتاج إلى إدراج / تحديث / حذف جداول قاعدة بيانات متعددة في معاملة واحدة من رمز طبقة الأعمال لدينا الذي لا يعرف بقاعدة البيانات. لقد حققنا ذلك بنجاح اليوم من خلال إنشاء TransactionScope في طبقة أعمالنا والتي بدورها تقوم بإجراء مكالمات متعددة لطبقة الوصول إلى البيانات الخاصة بنا والتي تؤدي عمليات قاعدة البيانات الضرورية.

نظرًا لأن المعاملات الموزعة غير مدعومة حاليًا في .NET Core ، ما هي توصية Microsoft كحل بديل؟

ال 3 كومينتر

نحن نرغب أيضًا في الانتقال من .NET Framework إلى .NET Core وواجهنا حقيقة أن DTC غير مدعوم مع TransactionScope والذي يبدو وكأنه كسر للصفقات من حيث قدرتنا على النقل إلى .NET Core.

حالات الاستخدام المحددة لدينا هي:

  1. نحتاج إلى الكتابة إلى جدولين مختلفين لقاعدة البيانات موجودان على خادمي SQL منفصلين والتأكد من أنهما جميعًا ملتزمان بقاعدة البيانات ذريًا وهو ما نقوم به اليوم بنجاح باستخدام TransactionScope و DTC.
  2. نحتاج إلى إدراج / تحديث / حذف جداول قاعدة بيانات متعددة في معاملة واحدة من رمز طبقة الأعمال لدينا الذي لا يعرف بقاعدة البيانات. لقد حققنا ذلك بنجاح اليوم من خلال إنشاء TransactionScope في طبقة أعمالنا والتي بدورها تقوم بإجراء مكالمات متعددة لطبقة الوصول إلى البيانات الخاصة بنا والتي تؤدي عمليات قاعدة البيانات الضرورية.

نظرًا لأن المعاملات الموزعة غير مدعومة حاليًا في .NET Core ، ما هي توصية Microsoft كحل بديل؟

نحن ندرس جدوى إحضار هذه الميزة إلى Core ، يرجى متابعة تتبع dotnet / corefx # 13532 ، وسيتم نقل هذه المشكلة إلى هذا الريبو قريبًا.

تم نقل الإصدار إلى dotnet / runtime # 715

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

ilmax picture ilmax  ·  3تعليقات

EgorBo picture EgorBo  ·  3تعليقات

omajid picture omajid  ·  3تعليقات

noahfalk picture noahfalk  ·  3تعليقات

matty-hall picture matty-hall  ·  3تعليقات