我有一个WCF服务操作,我想调用该操作来启动一个长时间运行的方法,但我希望操作在长时间运行的方法完成之前返回其结果.
我已尝试使用IParameterInspector实现,但在长时间运行的方法完成之前,操作的结果不会返回给客户端.
我应该如何实现这一点,因为我从操作开始的任何事情似乎必须在结果返回给客户端之前完成?
谢谢.
我试图在F#中定义一个具有id和值的类型,并且在排序时只考虑该值.我简化了这种情况,以便做出一个充满希望的明确例子.
到目前为止,我有以下内容:
[<CustomEquality; CustomComparison>]
type EquatableValue<'T when 'T : comparison> =
{ id : string; value : 'T }
override x.Equals(yobj) =
match yobj with
| :? EquatableValue<'T> as y ->
x.value = y.value
| _ -> false
override x.GetHashCode() =
hash x.value
interface System.IComparable with
member x.CompareTo yobj =
match yobj with
| :? EquatableValue<'T> as y ->
compare x.value y.value
| _ -> invalidArg "yobj" "cannot compare values of different types"
let a = {id="a";value=5}
let b = …Run Code Online (Sandbox Code Playgroud)