InvokeOperation Class

WCF RIA Services

[WCF RIA Services Version 1 Service Pack 2 is compatible with either .NET framework 4 or .NET Framework 4.5, and with either Silverlight 4 or Silverlight 5.]

Represents an asynchronous invoke operation.

Namespace:  System.ServiceModel.DomainServices.Client
Assembly:  System.ServiceModel.DomainServices.Client (in System.ServiceModel.DomainServices.Client.dll)

Public Class InvokeOperation _
	Inherits OperationBase
Dim instance As InvokeOperation

The InvokeOperation type exposes the following members.

Public propertyCanCancelGets a value that indicates whether this OperationBase is currently in a state that enables it to be canceled. (Inherited from OperationBase.)
Public propertyErrorGets the operation error if the operation failed. (Inherited from OperationBase.)
Public propertyHasErrorGets a value that indicates whether the operation failed. (Inherited from OperationBase.)
Public propertyIsCanceledGets a value that indicates whether this operation has been canceled. (Inherited from OperationBase.)
Public propertyIsCompleteGets a value that indicates whether this operation has completed. (Inherited from OperationBase.)
Public propertyIsErrorHandledGets or sets a value that indicates whether the operation error has been handled. (Inherited from OperationBase.)
Public propertyOperationNameGets the name of the operation.
Public propertyParametersGets the collection of parameters to the operation.
Protected propertyResultGets the DomainClientResult for this operation.
Protected propertySupportsCancellationGets a value indicating whether this operation supports cancellation. (Overrides OperationBase.SupportsCancellation.)
Public propertyUserStateGets the optional user state for this operation. (Inherited from OperationBase.)
Public propertyValidationErrorsGets the validation errors for this operation.
Public propertyValueGets the return value for the invoke operation.

Public methodCancelCancels the operation. (Inherited from OperationBase.)
Protected methodCancelCoreInvokes the cancel callback. (Overrides OperationBase.CancelCore.)
Protected methodComplete(Exception)Completes a failed operation with the specified error. (Inherited from OperationBase.)
Protected methodComplete(Object)Completes a successful operation with the specified result. (Inherited from OperationBase.)
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Protected methodInvokeCompleteActionInvokes the completion callback. (Overrides OperationBase.InvokeCompleteAction.)
Public methodMarkErrorAsHandledSpecifies that an error encountered in an operation is handled. (Inherited from OperationBase.)
Protected methodMemberwiseClone (Inherited from Object.)
Protected methodOnPropertyChangedCalled when the value of a property changes. (Inherited from OperationBase.)
Protected methodRaisePropertyChangedRaises the System#ComponentModel#INotifyPropertyChanged#PropertyChanged event. (Inherited from OperationBase.)
Public methodToString (Inherited from Object.)

Public eventCompletedOccurs when the operation completes. (Inherited from OperationBase.)

Explicit interface implemetationPrivate eventINotifyPropertyChanged.PropertyChangedOccurs when a property value changes. (Inherited from OperationBase.)

Partial Public Class MainPage
    Inherits UserControl

    ' Create the DomainContext for the DomainService
    Private _customerContext As CustomerDomainContext = New CustomerDomainContext()

    Friend invokeOp As InvokeOperation = New InvokeOperation()

    ' In this example, the value of the invoke operations is supposed to be a string
    Friend result As Integer

    Dim opEx As DomainOperationException = New DomainOperationException()

    Public Function MainPage()

        'Set invokeOp equal to _customerContext.CountCustomers
        invokeOp = _customerContext.CountCustomers(OnInvokeCompleted, Nothing)

        Dim query As EntityQuery(Of Customer) =
            From c In _customerContext.GetCustomersQuery
            Where c.Phone.StartsWith("583")
            Order By c.LastName
            Select c

        Dim loadOp As LoadOperation(Of Customer) = this._customerContext.Load(query, LoadBehavior.MergeIntoCurrent, False)

        opEx = New DomainOperationException("Validation Error",
        If loadOp.ValidationErrors <> Nothing Then
            Throw opEx
        End If

        Dim qr As QueryResult(Of Customer) = New QueryResult(Of Customer)()

        CustomerGrid.ItemsSource = qr.IncludedResults

    End Function

    'Create a method for handling the InvokeOperations onCompleted.
    Private Function OnInvokeCompleted(ByVal invOp As InvokeOperation)
        If invOp.HasError = True Then
            If invOp.ValidationErrors <> Nothing Then
                Throw opEx
                MessageBox.Show(String.Format("An Error Occured" + vbCrLf + _
                                              "Error Message: {0}" + vbCrLf + _
                                              "InnerException: {1}", invOp.Message, invOp.InnerException.Message))
            End If

            result = invokeOp.Value
        End If
    End Function

End Class

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.