HttpWebRequest.Connection Propiedad

Definición

Obtiene o establece el valor del encabezado 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

Valor de propiedad

String

Valor del encabezado HTTP Connection. El valor predeterminado es null.

Excepciones

El valor de Connection se establece en Mantener conexión o Cerrar.

Ejemplos

En el ejemplo de código siguiente se usa la Connection propiedad para establecer el valor del encabezado HTTP de conexión.

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

Comentarios

La solicitud envía la Connection propiedad al recurso de Internet como Connection encabezado HTTP. Si el valor de la KeepAlive propiedad es true, el valor "Keep-alive" se anexa al final del Connection encabezado.

Para borrar el Connection encabezado HTTP, establezca la Connection propiedad en null.

Al cambiar la Connection propiedad después de que se haya iniciado la solicitud llamando al GetRequestStreammétodo , BeginGetRequestStreamGetResponse, o BeginGetResponse , se produce una InvalidOperationExceptionexcepción .

Nota

El valor de esta propiedad se almacena en WebHeaderCollection. Si se establece WebHeaderCollection, se pierde el valor de propiedad.

Se aplica a