WCF服务是在UI线程上运行还是在Windows Phone 7中的异步请求线程上运行?

时间:2011-10-27 21:01:59

标签: c# .net multithreading wcf windows-phone-7

由于问题说明在访问WCF服务时使用了哪个线程?

我订阅的大多数Web服务都使用了HttpWebRequest,因为它不会阻止UI线程。但是当我访问Bing API时,它使用WCF服务。这是WebClient或HttpWebRequest的实现吗?

从外部看起来更像是WebClient,因为它不需要你调用BeginInvoke来将数据编组到UI线程中?这准确吗?

1 个答案:

答案 0 :(得分:0)

Windows Phone上没有WCF服务 - 该平台中的API仅包含WCF(访问服务)的客户端部分的代码。

您无法同时使用HttpWebRequestWebClient阻止UI线程(例如,分别使用BeginGetResponseDownloadAsync)。如果我没记错的话,手机中的WCF客户端在内部使用HttpWebRequest,但这是一个实现细节,可以随时更改。来自Windows Phone平台(以及Silverlight)的所有WCF调用都需要是异步的(即,没有同步支持)。