IIS 7の下にWebアプリケーションがあります。Button1
というページがあります。私はこのButton1
以下の方法火災をクリックすると:IISマルチスレッド
string url = "http://example.com";
string resultStr = "";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
string encoding = resp.CharacterSet;
if (encoding.Equals(String.Empty)) encoding = "UTF-8";
Stream strResponse = resp.GetResponseStream();
int bytesSize = 0, c = 0;
byte[] downBuffer = new byte[2048];//2kb
while ((bytesSize = strResponse.Read(downBuffer, 0, downBuffer.Length)) > 0)
{
if (++c > 100) break;//200kb - max
downBuffer = Encoding.Convert(Encoding.GetEncoding(encoding), Encoding.UTF8, downBuffer);
string tempString = Encoding.UTF8.GetString(downBuffer, 0, bytesSize);
resultStr += tempString;
}
strResponse.Close();
TextBox1.Text = resultStr;
をあなたはTextBox1テキストボックスは、リモートページのHTMLコードが含まれています見ることができるように。
問題があります:このメソッドは実行中は他のページを読み込めません!この問題を解決するには?
私は、アプリケーションスレッドが複数のスレッドを同時に処理できるようにアプリケーションスレッドを格納するアプリケーションプールがあることを知っています...しかし、それは私のためには機能しません。どうして?
このコードを実行しているときに、同じアプリケーションから2番目のタブを開いてページを読み込むことはできませんか?それとも、コードが終了するまで現在のページがリロードされないということですか?最初は奇妙、2番目は設計によるものです。 – rene
私は最初のことを意味します。そして私にとっても奇妙です... 2番目のタブを開くと、最初のページからのリクエストが実行されている間は別のページが表示されません。 –