Async call to WCF with C#?

2019-01-25 20:53发布

In C#, how do I make an async call to a WCF Web Service? I have a Service Reference set up to generate async. I also modified my calls to use { WebServiceObject.Begin* () } but there are two parameters at the end, 'AsyncCallback' and 'object asyncState'. What are these and how do I use them?

Thanks,

3条回答
淡お忘
2楼-- · 2019-01-25 21:14

Callback is called when operation is completed, so you can call End* and grab return value or exception if any. asyncState is just a value for matching in callback if you use same callback method in several places. Here is a description of Async design pattern - http://msdn.microsoft.com/en-us/library/aa719595(VS.71).aspx

If you are creating GUI application, consider using another version - *Async method which is generated for each operation as well. It provides thread synchronization.

查看更多
等我变得足够好
3楼-- · 2019-01-25 21:33

You might also want to look at Async without the Pain

查看更多
forever°为你锁心
4楼-- · 2019-01-25 21:36

See MSDN here; http://msdn.microsoft.com/en-us/library/system.asynccallback.aspx

here; http://msdn.microsoft.com/en-us/library/ms228969.aspx

here; http://msdn.microsoft.com/en-us/library/ms228975.aspx

and here; http://msdn.microsoft.com/en-us/library/86wf6409.aspx

Basicly in Begin* you set an callback, that callback is called when the operation has completed. There you call End* to retrieve the appropriate data.

查看更多
登录 后发表回答