Export (0) Print
Expand All

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 : OperationBase

The InvokeOperation type exposes the following members.

  NameDescription
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.
Top

  NameDescription
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.)
Top

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

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

public partial class MainPage : UserControl
{
    // Create the DomainContext for the DomainService
    private CustomerDomainContext _customerContext = new CustomerDomainContext();

    InvokeOperation invokeOp = new InvokeOperation();
    string result;

    DomainOperationException opEx = new DomainOperationException();

    public MainPage()
    {
        InitializeComponent();

        // Set invokeOp equal to _customerContext.CountCustomers
        invokeOp = _customerContext.CountCustomers(OnInvokeCompleted, null);

        EntityQuery<Customer> query =
            from c in _customerContext.GetCustomersQuery()
            where c.Phone.StartsWith("583")
            orderby c.LastName
            select c;
        LoadOperation<Customer> loadOp = this._customerContext.Load(query, LoadBehavior.MergeIntoCurrent, false);

        opEx = new DomainOperationException(
            "Validation Error",
            OperationErrorStatus.ValidationFailed,
            0x000024FA);

        if (loadOp.ValidationErrors != null)
        {
            throw opEx;
        }

        QueryResult<Customer> qr = new QueryResult<Customer>();

        CustomerGrid.ItemsSource = qr.IncludedResults;
    }

    // Create a method for Handling the InvokeOperation Completed.
    private void OnInvokeCompleted(InvokeOperation invOp)
    {
        if (invOp.HasError)
        {
            if (invOp.ValidationErrors != null)
            {
                throw opEx;
            }
            else
            {
                MessageBox.Show(string.Format("An Error Occured/nError Message: {0}/nInner Exception Message: {1}",
                                              invOp.Error.Message,
                                              invOp.Error.InnerException.Message));
                invOp.MarkErrorAsHandled();
            }
        }
        else
        {
            // Convert the value of invokeOp which is an integer to a string for output
            // in the result field.
            result = invokeOp.Value.ToString();
            MessageBox(string.Format("InvokeOperation '{0}' has completed", invokeOp.OperationName);

        }
    }
}


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