Bagikan melalui


HttpWebRequest.Connection Properti

Definisi

Mendapatkan atau mengatur nilai header HTTP Connection.

public:
 property System::String ^ Connection { System::String ^ get(); void set(System::String ^ value); };
public string? Connection { get; set; }
public string Connection { get; set; }
member this.Connection : string with get, set
Public Property Connection As String

Nilai Properti

Nilai header HTTP Connection. Nilai defaultnya adalah null.

Pengecualian

Nilai Connection diatur ke Tetap hidup atau Tutup.

Contoh

Contoh kode berikut menggunakan properti Connection untuk mengatur nilai Header HTTP Koneksi.

int main()
{
   try
   {
      
      // Create a new HttpWebRequest object.  Make sure that
      // a default proxy is set if you are behind a firewall.
      HttpWebRequest^ myHttpWebRequest1 = dynamic_cast<HttpWebRequest^>(WebRequest::Create( "http://www.contoso.com" ));
      myHttpWebRequest1->KeepAlive = false;
      
      // Assign the response object of HttpWebRequest to a HttpWebResponse variable.
      HttpWebResponse^ myHttpWebResponse1 = dynamic_cast<HttpWebResponse^>(myHttpWebRequest1->GetResponse());
      Console::WriteLine( "\nThe HTTP request Headers for the first request are: \n {0}", myHttpWebRequest1->Headers );
      Console::WriteLine( "Press Enter Key to Continue.........." );
      Console::Read();
      Stream^ streamResponse = myHttpWebResponse1->GetResponseStream();
      StreamReader^ streamRead = gcnew StreamReader( streamResponse );
      array<Char>^readBuff = gcnew array<Char>(256);
      int count = streamRead->Read( readBuff, 0, 256 );
      Console::WriteLine( "The contents of the Html page are.......\n" );
      while ( count > 0 )
      {
         String^ outputData = gcnew String( readBuff,0,count );
         Console::Write( outputData );
         count = streamRead->Read( readBuff, 0, 256 );
      }
      Console::WriteLine();
      
      // Close the Stream object.
      streamResponse->Close();
      streamRead->Close();
      
      // Release the resources held by response object.
      myHttpWebResponse1->Close();
      
      // Create a new HttpWebRequest object for the specified Uri.
      HttpWebRequest^ myHttpWebRequest2 = dynamic_cast<HttpWebRequest^>(WebRequest::Create( "http://www.contoso.com" ));
      myHttpWebRequest2->Connection = "Close";
      
      // Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
      HttpWebResponse^ myHttpWebResponse2 = dynamic_cast<HttpWebResponse^>(myHttpWebRequest2->GetResponse());
      
      // Release the resources held by response object.
      myHttpWebResponse2->Close();
      Console::WriteLine( "\nThe Http RequestHeaders are \n {0}", myHttpWebRequest2->Headers );
      
      Console::WriteLine( "\nPress 'Enter' Key to Continue........." );
      Console::Read();
   }
   catch ( ArgumentException^ e ) 
   {
      Console::WriteLine( "\nThe second HttpWebRequest Object* has raised an Argument Exception as 'Connection' Property is set to 'Close'" );
      Console::WriteLine( "\n {0}", e->Message );
   }
   catch ( WebException^ e ) 
   {
      Console::WriteLine( "WebException raised!" );
      Console::WriteLine( "\n {0}", e->Message );
      Console::WriteLine( "\n {0}", e->Status );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception raised!" );
      Console::WriteLine( "Source : {0} ", e->Source );
      Console::WriteLine( "Message : {0} ", e->Message );
   }

}

class HttpWebRequest_Connection
{
  static void Main()
  {
    try
    {

      // Create a new HttpWebRequest object.Make sure that
      // a default proxy is set if you are behind a firewall.
      HttpWebRequest myHttpWebRequest1 =
        (HttpWebRequest)WebRequest.Create("http://www.contoso.com");

      myHttpWebRequest1.KeepAlive=false;
      // Assign the response object of HttpWebRequest to a HttpWebResponse variable.
      HttpWebResponse myHttpWebResponse1 =
        (HttpWebResponse)myHttpWebRequest1.GetResponse();

      Console.WriteLine("\nThe HTTP request Headers for the first request are: \n{0}",myHttpWebRequest1.Headers);
      Console.WriteLine("Press Enter Key to Continue..........");
      Console.Read();

      Stream streamResponse=myHttpWebResponse1.GetResponseStream();
      StreamReader streamRead = new StreamReader( streamResponse );
      Char[] readBuff = new Char[256];
      int count = streamRead.Read( readBuff, 0, 256 );
      Console.WriteLine("The contents of the Html page are.......\n");
      while (count > 0)
      {
        String outputData = new String(readBuff, 0, count);
        Console.Write(outputData);
        count = streamRead.Read(readBuff, 0, 256);
      }
      Console.WriteLine();
      // Close the Stream object.
      streamResponse.Close();
      streamRead.Close();
      // Release the resources held by response object.
      myHttpWebResponse1.Close();
      // Create a new HttpWebRequest object for the specified Uri.
      HttpWebRequest myHttpWebRequest2 =
        (HttpWebRequest)WebRequest.Create("http://www.contoso.com");
      myHttpWebRequest2.Connection="Close";
      // Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
      HttpWebResponse myHttpWebResponse2 =
        (HttpWebResponse)myHttpWebRequest2.GetResponse();
      // Release the resources held by response object.
      myHttpWebResponse2.Close();
      Console.WriteLine("\nThe Http RequestHeaders are \n{0}",myHttpWebRequest2.Headers);
      Console.WriteLine("\nPress 'Enter' Key to Continue.........");
      Console.Read();
    }
    catch(ArgumentException e)
    {
      Console.WriteLine("\nThe second HttpWebRequest object has raised an Argument Exception as 'Connection' Property is set to 'Close'");
      Console.WriteLine("\n{0}",e.Message);
    }
    catch(WebException e)
    {
      Console.WriteLine("WebException raised!");
      Console.WriteLine("\n{0}",e.Message);
      Console.WriteLine("\n{0}",e.Status);
    }
    catch(Exception e)
    {
      Console.WriteLine("Exception raised!");
      Console.WriteLine("Source :{0} " , e.Source);
      Console.WriteLine("Message :{0} " , e.Message);
    }
  }
}

Class HttpWebRequest_Connection
  
  Shared Sub Main()
    Try

      ' Create a new 'HttpWebRequest' object for the specified Uri. Make sure that 
      ' a default proxy is set if you are behind a firewall.
      Dim myHttpWebRequest1 As HttpWebRequest = CType(WebRequest.Create("http://www.contoso.com"), HttpWebRequest)
      myHttpWebRequest1.KeepAlive = False
      ' Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
      Dim myHttpWebResponse1 As HttpWebResponse = CType(myHttpWebRequest1.GetResponse(), HttpWebResponse)

      Console.WriteLine(ControlChars.Cr + "The HTTP request Headers for the first request are {0}", myHttpWebRequest1.Headers)
      Console.WriteLine("Press Enter Key to Continue..........")
      Console.Read()
      Dim streamResponse As Stream = myHttpWebResponse1.GetResponseStream()
      Dim streamRead As New StreamReader(streamResponse)
      Dim readBuff(256) As [Char]
      Dim count As Integer = streamRead.Read(readBuff, 0, 256)
      Console.WriteLine("The contents of the Html page are......." + ControlChars.Cr)
      While count > 0
        Dim outputData As New [String](readBuff, 0, count)
        Console.Write(outputData)
        count = streamRead.Read(readBuff, 0, 256)
      End While
      ' Close the Stream object.
      streamResponse.Close()
      streamRead.Close()
     ' Release the resources held by response object.
      myHttpWebResponse1.Close()
      Console.WriteLine()
     ' Create a new 'HttpWebRequest' object  to the specified Uri.   
      Dim myHttpWebRequest2 As HttpWebRequest = CType(WebRequest.Create("http://www.contoso.com"), HttpWebRequest)
      myHttpWebRequest2.Connection = "Close"
      ' Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
      Dim myHttpWebResponse2 As HttpWebResponse = CType(myHttpWebRequest2.GetResponse(), HttpWebResponse)
    ' Release the resources held by response object.
    myHttpWebResponse2.Close()
      Console.WriteLine(ControlChars.Cr + "The Http RequestHeaders are " + ControlChars.Cr + "{0}", myHttpWebRequest2.Headers)
      Console.WriteLine(ControlChars.Cr + "Press 'Enter' Key to Continue.........")
      Console.Read()
    Catch e As ArgumentException
      Console.WriteLine(ControlChars.Cr + "The second HttpWebRequest object has raised an Argument Exception as 'Connection' Property is set to 'Close'")
      Console.WriteLine(ControlChars.Cr + "{0}", e.Message)
    Catch e As WebException
      Console.WriteLine("WebException raised!")
      Console.WriteLine(ControlChars.Cr + "{0}", e.Message)
      Console.WriteLine(ControlChars.Cr + "{0}", e.Status)
    Catch e As Exception
      Console.WriteLine("Exception raised!")
      Console.WriteLine("Source :{0} ", e.Source)
      Console.WriteLine("Message : {0}", e.Message)
    End Try
  End Sub
End Class

Keterangan

Hati

WebRequest, HttpWebRequest, ServicePoint, dan WebClient usang, dan Anda tidak boleh menggunakannya untuk pengembangan baru. Gunakan HttpClient sebagai gantinya.

Permintaan mengirimkan properti Connection ke sumber daya Internet sebagai header HTTP Connection. Jika nilai properti KeepAlivetrue, nilai "Tetap hidup" ditambahkan ke akhir header Connection.

Untuk menghapus header HTTP Connection, atur properti Connection ke null.

Mengubah properti Connection setelah permintaan dimulai dengan memanggil metode GetRequestStream, BeginGetRequestStream, GetResponse, atau BeginGetResponse melemparkan InvalidOperationException.

Nota

Nilai untuk properti ini disimpan dalam WebHeaderCollection. Jika WebHeaderCollection diatur, nilai properti akan hilang.

Berlaku untuk