由于问题说明在访问WCF服务时使用了哪个线程?
我订阅的大多数Web服务都使用了HttpWebRequest,因为它不会阻止UI线程。但是当我访问Bing API时,它使用WCF服务。这是WebClient或HttpWebRequest的实现吗?
从外部看起来更像是WebClient,因为它不需要你调用BeginInvoke来将数据编组到UI线程中?这准确吗?
答案 0 :(得分:0)
Windows Phone上没有WCF服务 - 该平台中的API仅包含WCF(访问服务)的客户端部分的代码。
您无法同时使用HttpWebRequest
和WebClient
阻止UI线程(例如,分别使用BeginGetResponse
和DownloadAsync
)。如果我没记错的话,手机中的WCF客户端在内部使用HttpWebRequest
,但这是一个实现细节,可以随时更改。来自Windows Phone平台(以及Silverlight)的所有WCF调用都需要是异步的(即,没有同步支持)。