//[SuppressMessage(FxCop.Category.Design, FxCop.Rule.ConsiderPassingBaseTypesAsParameters, // Justification = "We are restricting the activities that can call this API.")] public void RegisterBookmarkScope(NativeActivityContext context, BookmarkScopeHandle bookmarkScopeHandle) { if (context == null) { throw FxTrace.Exception.ArgumentNull(nameof(context)); } context.ThrowIfDisposed(); if (bookmarkScopeHandle == null) { throw FxTrace.Exception.ArgumentNull(nameof(bookmarkScopeHandle)); } if ((this.ImportantBookmarks != null && this.ImportantBookmarks.Count != 0) || (this.UnimportantBookmarks != null && this.UnimportantBookmarks.Count != 0)) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.ExclusiveHandleRegisterBookmarkScopeFailed)); } if (this.bookmarkScopesListIsDefault) { this.bookmarkScopesListIsDefault = false; this.bookmarkScopes.Clear(); } this.bookmarkScopes.Add(bookmarkScopeHandle); this.readOnlyBookmarkScopeCollection = null; }
public void Exit(NativeActivityContext context) { context.ThrowIfDisposed(); ThrowIfUninitialized(); context.ExitNoPersist(this); }
private void CompleteTransactionCore(NativeActivityContext context, BookmarkCallback callback) { context.ThrowIfDisposed(); if (this.rootTransaction != null) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.CannotCompleteRuntimeOwnedTransaction)); } if (!context.HasRuntimeTransaction) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.NoRuntimeTransactionExists)); } if (!this.isHandleInitialized) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.UnInitializedRuntimeTransactionHandle)); } if (this.SuppressTransaction) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.RuntimeTransactionIsSuppressed)); } context.CompleteTransaction(this, callback); }
private void ThrowIfContextIsNullOrDisposed(NativeActivityContext context) { if (context == null) { throw FxTrace.Exception.ArgumentNull("context"); } context.ThrowIfDisposed(); }
//To be called from public APIs that need to verify the passed in context private void ThrowIfContextIsNullOrDisposed(NativeActivityContext context) { if (context == null) { throw CoreWf.Internals.FxTrace.Exception.ArgumentNull("context"); } context.ThrowIfDisposed(); }
//To be called from public APIs that need to verify the passed in context private void ThrowIfContextIsNullOrDisposed(NativeActivityContext context) { if (context == null) { throw FxTrace.Exception.ArgumentNull(nameof(context)); } context.ThrowIfDisposed(); }
//[SuppressMessage(FxCop.Category.Design, FxCop.Rule.ConsiderPassingBaseTypesAsParameters, // Justification = "We are restricting the activities that can call this API.")] public void Reinitialize(NativeActivityContext context) { if (context == null) { throw FxTrace.Exception.ArgumentNull(nameof(context)); } context.ThrowIfDisposed(); if ((this.ImportantBookmarks != null && this.ImportantBookmarks.Count != 0) || (this.UnimportantBookmarks != null && this.UnimportantBookmarks.Count != 0)) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.ExclusiveHandleReinitializeFailed)); } this.bookmarkScopes.Clear(); this.readOnlyBookmarkScopeCollection = null; this.PerformDefaultRegistration(); }
private void RequestOrRequireTransactionContextCore(NativeActivityContext context, Action <NativeActivityTransactionContext, object> callback, object state, bool isRequires) { if (context == null) { throw FxTrace.Exception.ArgumentNull(nameof(context)); } context.ThrowIfDisposed(); if (context.HasRuntimeTransaction) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.RuntimeTransactionAlreadyExists)); } if (context.IsInNoPersistScope) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.CannotSetRuntimeTransactionInNoPersist)); } if (!this.isHandleInitialized) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.UnInitializedRuntimeTransactionHandle)); } if (this.SuppressTransaction) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.RuntimeTransactionIsSuppressed)); } if (isRequires) { if (context.RequiresTransactionContextWaiterExists) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.OnlyOneRequireTransactionContextAllowed)); } this.ThrowIfNotRegistered(SR.RuntimeTransactionHandleNotRegisteredAsExecutionProperty("RequireTransactionContext")); } else { this.ThrowIfNotRegistered(SR.RuntimeTransactionHandleNotRegisteredAsExecutionProperty("RequestTransactionContext")); } context.RequestTransactionContext(isRequires, this, callback, state); }
private void CompleteTransactionCore(NativeActivityContext context, BookmarkCallback callback) { context.ThrowIfDisposed(); if (this.rootTransaction != null) { throw FxTrace.Exception.AsError(new InvalidOperationException(System.Activities.SR.CannotCompleteRuntimeOwnedTransaction)); } if (!context.HasRuntimeTransaction) { throw FxTrace.Exception.AsError(new InvalidOperationException(System.Activities.SR.NoRuntimeTransactionExists)); } if (!this.isHandleInitialized) { throw FxTrace.Exception.AsError(new InvalidOperationException(System.Activities.SR.UnInitializedRuntimeTransactionHandle)); } if (this.SuppressTransaction) { throw FxTrace.Exception.AsError(new InvalidOperationException(System.Activities.SR.RuntimeTransactionIsSuppressed)); } context.CompleteTransaction(this, callback); }
public void Reinitialize(NativeActivityContext context) { if (context == null) { throw FxTrace.Exception.ArgumentNull("context"); } context.ThrowIfDisposed(); if (((this.ImportantBookmarks != null) && (this.ImportantBookmarks.Count != 0)) || ((this.UnimportantBookmarks != null) && (this.UnimportantBookmarks.Count != 0))) { throw FxTrace.Exception.AsError(new InvalidOperationException(System.Activities.SR.ExclusiveHandleReinitializeFailed)); } this.bookmarkScopes.Clear(); this.readOnlyBookmarkScopeCollection = null; this.PerformDefaultRegistration(); }
public void RegisterBookmarkScope(NativeActivityContext context, BookmarkScopeHandle bookmarkScopeHandle) { if (context == null) { throw FxTrace.Exception.ArgumentNull("context"); } context.ThrowIfDisposed(); if (bookmarkScopeHandle == null) { throw FxTrace.Exception.ArgumentNull("bookmarkScopeHandle"); } if (((this.ImportantBookmarks != null) && (this.ImportantBookmarks.Count != 0)) || ((this.UnimportantBookmarks != null) && (this.UnimportantBookmarks.Count != 0))) { throw FxTrace.Exception.AsError(new InvalidOperationException(System.Activities.SR.ExclusiveHandleRegisterBookmarkScopeFailed)); } if (this.bookmarkScopesListIsDefault) { this.bookmarkScopesListIsDefault = false; this.bookmarkScopes.Clear(); } this.bookmarkScopes.Add(bookmarkScopeHandle); this.readOnlyBookmarkScopeCollection = null; }
public void Enter(NativeActivityContext context) { context.ThrowIfDisposed(); base.ThrowIfUninitialized(); context.EnterNoPersist(this); }
void RequestOrRequireTransactionContextCore(NativeActivityContext context, Action<NativeActivityTransactionContext, object> callback, object state, bool isRequires) { if (context == null) { throw FxTrace.Exception.ArgumentNull("context"); } context.ThrowIfDisposed(); if (context.HasRuntimeTransaction) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.RuntimeTransactionAlreadyExists)); } if (context.IsInNoPersistScope) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.CannotSetRuntimeTransactionInNoPersist)); } if (!this.isHandleInitialized) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.UnInitializedRuntimeTransactionHandle)); } if (this.SuppressTransaction) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.RuntimeTransactionIsSuppressed)); } if (isRequires) { if (context.RequiresTransactionContextWaiterExists) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.OnlyOneRequireTransactionContextAllowed)); } this.ThrowIfNotRegistered(SR.RuntimeTransactionHandleNotRegisteredAsExecutionProperty("RequireTransactionContext")); } else { this.ThrowIfNotRegistered(SR.RuntimeTransactionHandleNotRegisteredAsExecutionProperty("RequestTransactionContext")); } context.RequestTransactionContext(isRequires, this, callback, state); }