2017-10-29 7 views
0

フォーム上でC#フォームを起動する(ボタンをクリックすると、いつでも完全に閉じることができます)ブラウザを開かずにURLを実行するボタンがあります。プログラムをフリーズするボタンを3回クリックしてform.exeがフリーズするのはなぜですか?

どうしたらこのことをやめることができますか?

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Net; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace WindowsFormsApp1 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      ASCIIEncoding encoding = new ASCIIEncoding(); 
      string postData = "apiID=2794187564564"; 

      // Prepare web request... 
      HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(
       "http://fms.psrpc.co.uk/apistate2.php?" + postData); 

      // Send the data. 
      myRequest.GetResponse(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 
      this.TopMost = true; 
      this.FormBorderStyle = FormBorderStyle.None; 
      this.WindowState = FormWindowState.Maximized; 
     } 
    } 
} 
+0

私はJavaプログラマです。私は混乱しています。この質問は、Javaプログラミングと何が関係していますか?なぜそれにJavaの質問にタグを付けるのか、Javaのコーダーが関係ない場合はそれを引き付けるのでしょうか? –

+0

私はJavaタグを削除しましたが、将来は無関係の質問タグを使用しないようにしてください。質問タグはダウン投票を招き、回答を得るのに役立たないからです。 –

答えて

1

はすべてIDisposableタイプにDisposeを呼び出すことを忘れないでください。ここでは明確には見えませんが、これはGetResponseの結果にも当てはまります。

// Send the data 
myRequest.GetResponse().Dispose(); 

GetResponseは、そのHTTPサーバが2XX OKリターンコードよりも別の何かを返すときに例外がスローされますので、あなたが、最終的にはのtry-catchの内側にそれを置く必要があることに注意してください。

+0

申し訳ありませんが、私はコメントを忘れてしまいました。 – KjayCopper

関連する問題