مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

roya

عضویت از 1392/08/22

transaction در برنامه نویسی سه لایه و کار با وب سرویس

  • شنبه 19 بهمن 1398
  • 17:08
تشکر میکنم

سلام دوستان 

من میخوام در scope تراکنشم یه وب سرویسی رو کال بزنم و یک سری دیتا اینتری روی دیتابیس crm  شرکت انجام بدم ولی مشکل اینجاست که اطلاعاتی که با وب سرویس insert  میشه rollback  نمیشن!

آیا راه حلی وجود داره برای اینکه دیتایی که با وب سرویس و متد post  در دیتابیس دیگری جز دیتابیس اپلیکیشن خودم insert  کردم رو rollback کنم؟

ضمنا برای transaction کد زیر رو استفاده کردم:

using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, System.TimeSpan.MaxValue))
                      
      {

\\insert in database
\\insert in database
\\insert in database
if(true){


\\call webserivice
}
  scope.Complete();
                            }
       

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

AmirGhasemi

عضویت از 1392/02/25

  • یکشنبه 20 بهمن 1398
  • 07:38

سلام

شما Scope.Complete()  را باید در مقدار دلیگیت بازگشتی از وب سرویس بنویسی که اگر وب سرویس پاسخگو نبود رولبک اتفاق بیفتد.

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)