我有一项服务实施以下合同:
[OperationContract(IsOneWay = true)]
void Execute(IList<SomeObject> someObjects);
为了避免在调用者端停止(在延迟很高的情况下需要几秒钟),我想将契约更改为异步模式:
[OperationContract]
void Execute(IList<SomeObject> someObjects);
[OperationContract(AsyncPattern = true)]
IAsyncResult BeginExecute(IList<SomeObject> someObjects, AsyncCallback asyncCallback, object state);
void EndExecute(IAsyncResult asyncResult);
问题:由于生产限制,我无法升级实施方。
我运行它并发现一切都按预期运行,除了,只有在频道关闭时才会调用结束回调。
问题是:我是否会遇到任何性能问题,内存泄漏或其他我未曾想过的问题?