الأسلوب: AsyncBuilder.TryFinally<'T> (F#)

إنشاء عملية حسابية غير متزامنة تقوم بتنفيذ computation. الإجراء compensation يتم تنفيذه بعد أن يكتمل computation ، سواءً كان computation يغلق بطريقة طبيعية أو عن طريق استثناء. إذا قام compensation برفع استثناء نفسه، يتم تجاهل الإستثناء الأصلي و الاستثناء الجديد يصبح النتيجة الكلية للعملية الحسابية.

مساحة الاسم/مسار الوحدة النمطية: Microsoft.FSharp.Control

التجميع: FSharp.Core (في FSharp.Core.dll)

// Signature:
member this.TryFinally : Async<'T> * (unit -> unit) -> Async<'T>

// Usage:
asyncBuilder.TryFinally (computation, compensation)

المعلمات

  • computation
    اكتب: Async<'T>

    العملية الحسابية المدخلة.

  • compensation
    اكتب: ee370213(v=vs.100).md -> unitee370213(v=vs.100).mdunit

    الإجراء المراد تشغيله بعد أن يكتمل computation أو يقوم بإصدار استثناء (بما في ذلك الإلغاء).

القيمة المُرجعة

عملية حسابية غير متزامنة تقوم بتنفيذ عملية حسابية و تعويض بعد ذلك أو عند رفع استثناء.

ملاحظات

يتم تنفيذ اختبار إلغاء عند تنفيذ العملية الحسابية. وجود هذا الأسلوب يسمح باستخدام try/finally في بناء جملة تعبير العملية الحسابية async { ... } .

الأنظمة الأساسية

Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

معلومات الإصدار

وقت التشغيل #F

معتمد في: 2.0, 4.0

Silverlight

معتمد في: 3

راجع أيضًا:

موارد أخرى

الفئة Control.AsyncBuilder

مساحة الاسم Microsoft.FSharp.Control