الأسلوب: 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