さて、基本的に私は文字列を返す関数を持っていますが、その文字列を取得するためにwebrequestを使用します。つまり、別のスレッドに配置しない限り、そのwebrequestの実行中にフォームがロックされます。
しかし、スレッドで返されたデータをキャプチャする方法がわかりません。これは、thread.startの使用を開始したためであり、これは無効です。
何か助けてください?
誰かにとって重要な場合の現在のコード:
string CreateReqThread(string UrlReq)
{
System.Threading.Thread NewThread = new System.Threading.Thread(() => CreateReq(UrlReq));
string ReturnedData = "";
return ReturnedData;
}
string CreateReq(string url)
{
try
{
WebRequest SendReq = WebRequest.Create(url);
SendReq.Credentials = CredentialCache.DefaultCredentials;
SendReq.Proxy = WebRequest.DefaultWebProxy; //For closed port networks like colleges
SendReq.Proxy.Credentials = CredentialCache.DefaultCredentials;
SendReq.Timeout = 15000;
System.IO.StreamReader Reader = new System.IO.StreamReader(SendReq.GetResponse().GetResponseStream());
string Response = Reader.ReadToEnd();
Reader.Close();
return Response;
}
catch (WebException e)
{
EBox(e.Message, "Unknown Error While Connecting");
return null;
}
}