Invokes a user-supplied evalMethod in a parallel distributed
fashion for each object in the sequence source.
Namespace: Soss.Client
Assembly: soss_namedcache (in soss_namedcache.dll) Version: 6.2.0.0
Syntax
public static IQueryable<R> Invoke<T, P, R>( this IQueryable<T> source, TimeSpan timeout, P param, Func<T, P, R> evalMethod )
Parameters
- source
- Type: System.LinqIQueryableT
The sequence of objects to be passed to evalMethod on the distributed servers. The source should be initially created by QueryKeysT or QueryObjectsT. - timeout
- Type: SystemTimeSpan
The length of time allowed for the invoke operation. If the operation takes longer than timeout it will be cancelled. - param
- Type: P
A user-specified parameter object sent to each evalMethod when it is invoked. - evalMethod
- Type: SystemFuncT, P, R
A method to be run on each element of source. The evalMethod is expected to return an object of type R which will subsequently be passed to a user-supplied merge method via MergeR(IQueryableR, FuncR, R, R).
Type Parameters
- T
- The Type of the "target" objects that will be passed to the evalMethod.
- P
- The Type of a fixed parameter object that will also be passed to evalMethod at each invocation.
- R
- The Type returned from evalMethod
Return Value
Type: IQueryableRA result suitable for input into a merge method. The merge method is specified via MergeR(IQueryableR, FuncR, R, R).
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type IQueryableT. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).See Also