スレッドからWebサービスへの非同期要求を作成するにはどうすればよいですか?Webサービスへの非同期要求
0
A
答えて
0
ここにはWCFを使用したソリューションがあります。
サービスコードFileService.svc
public class FileService
{
[OperationContract]
public byte[] GetFile(string filename)
{
byte[] File;
//do logic
return File;
}
}
クライアントコード
public int requested_file_count = 5;
public list<string> filenames;
public FileServiceClient svc
//Constructor
public Example()
{
svc = new FileServiceClient();
}
Public void GetFiles()
{
//Initialise the list of names and set the count of files received
filenames = new list<string>(5);
requested_file_count = filenames.Count;
svc.GetFileCompleted += new EventHandler<GetFileCompletedEventArgs>(GetFile_Completed);
//Call the Async Method passing it the file name and setting the userstate to 1;
svc.GetFileAsync(filenames[0],1);
}
void GetFile_Completed(object Sender, GetFileCompletedEventArgs e)
{
if (e.UserState == requested_file_count)
{
//All files have been downloaded
}
else
{
svc.GetFileAsync(filenames[e.UserState],++e.UserState);
}
//Do Something with the downloaded file
byte[] filedata = e.result;
}
1
ここでは説明の無負荷時の短い答えはあります。あなたのClientオブジェクト上のAsync
メソッドを使用すると、UIスレッドで実行されていないことを確認してください呼び出す前に
: -
System.Threading.ThreadPool.QueueUserWorkItem(o =>
{
try
{
svc.SomeMethodAsync();
}
catch (err)
{
// do something sensible with err
}
});
今すぐ対応完了イベントはThreadPool
スレッドではないUIスレッド上で発生します。
関連する問題
- 1. asmx Webサービスへの同時ASP.NET要求
- 2. 非同期Webサービス
- 3. asp.net 2.0 WebクライアントからWCF Webサービス(非同期問題)への非同期Webサービス呼び出し
- 4. ASP.NET - 非同期Webサービス
- 5. 非同期REST Webサービス?
- 6. 非同期REST Webサービス
- 7. iPhone SDKの同期要求または非同期要求
- 8. スレッドからのNSURLConnection同期要求と非同期要求
- 9. NodeJS:非同期要求
- 10. ASP.NET非同期要求コールバック
- 11. 非同期Webサービスの問題
- 12. restfull Webサービスでの非同期HTTPリクエスト
- 13. 別のWebサービスへのSOAP Webサービス要求のリダイレクト/転送
- 14. Play(2.0)からの非同期要求アクッカアクタへのアクション
- 15. viewDidLoadメソッドへの非同期要求の返信方法
- 16. androroidのベストプラクティス2:AsyncTaskの非同期要求または同期要求?
- 17. 非同期GET要求への応答と送信
- 18. のYiiフレームワークの非同期要求
- 19. ブートストラップでの非同期要求
- 20. Objective Cの - 非同期HTTP要求ブロックプログラム
- 21. 非同期xmlhttp要求の反応
- 22. 非同期要求のカプセル化
- 23. Scrapy:スパイダーミドルウェアの非同期データベース要求?
- 24. スレッドセーフな非同期の更新要求
- 25. ES6での非同期要求処理
- 26. 同期要求を伴うSilverlight RIAサービス
- 27. NodeJS変数の衝突?非同期/要求との同期
- 28. Xamarinフォームhttp非同期要求
- 29. npm要求は非同期ですか?
- 30. - 非同期操作要求インターセプタ
Silverlight対応のWCFサービスを使用すると、最初の点に応じてSilverlightが自動的に非同期コードを生成します。サービス上のGetData()メソッドは、使用するクライアント側でGetDataCompletedメソッドとGetDataAsyncメソッドを生成します。 – Midimatt
はい、ユーザーがUIで何か他のことをしようとすると、UIがハングしないように別のスレッドで行う必要があります。 – Joan
すべてのコードは__a__スレッドで実行されますが、UIスレッドではないスレッドで非同期リクエストを作成したいと思っていますか? – AnthonyWJones