HttpWebRequest.KeepAlive-Eigenschaft

Ruft einen Wert ab, der angibt, ob eine permanente Verbindung mit der Internetressource hergestellt werden soll, oder legt diesen fest.

Namespace: System.Net
Assembly: System (in system.dll)

Syntax

'Declaration
Public Property KeepAlive As Boolean
'Usage
Dim instance As HttpWebRequest
Dim value As Boolean

value = instance.KeepAlive

instance.KeepAlive = value
public bool KeepAlive { get; set; }
public:
property bool KeepAlive {
    bool get ();
    void set (bool value);
}
/** @property */
public boolean get_KeepAlive ()

/** @property */
public void set_KeepAlive (boolean value)
public function get KeepAlive () : boolean

public function set KeepAlive (value : boolean)

Eigenschaftenwert

true, wenn die Anforderung an die Internetressource einen Connection-HTTP-Header mit dem KeepAlive-Wert enthalten soll, andernfalls false. Der Standardwert ist true.

Hinweise

Legen Sie diese Eigenschaft auf true fest, um einen Connection-HTTP-Header mit dem KeepAlive-Wert zu senden. Eine Anwendung verwendet KeepAlive, um anzugeben, dass permanente Verbindungen bevorzugt werden. Wenn die KeepAlive-Eigenschaft auf true festgelegt ist, stellt die Anwendung permanente Verbindungen mit den Servern her, die dies unterstützen.

Hinweis

Bei der Verwendung von HTTP/1.1 ist Keep-Alive als Standardeinstellung aktiviert. Das Festlegen von KeepAlive auf false kann zum Senden eines Connection: Close-Headers an den Server führen.

Beispiel

Im folgenden Codebeispiel wird die KeepAlive-Eigenschaft auf false festgelegt, um das Herstellen einer permanenten Verbindung mit der Internetressource zu vermeiden.

Imports System
Imports System.IO
Imports System.Net
Imports System.Text
Imports Microsoft.VisualBasic
using System;
using System.IO;
using System.Net;
using System.Text;
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( "https://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( "https://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
{
    public static void main(String[] args)
    {
        try {
            // Create a new HttpWebRequest object.Make sure that 
            // a default proxy is set if you are behind a fure wall.
            HttpWebRequest myHttpWebRequest1 = (HttpWebRequest)
                (WebRequest.Create("https://www.contoso.com"));
            myHttpWebRequest1.set_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.get_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("https://www.contoso.com"));
            myHttpWebRequest2.set_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.get_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.get_Message());
        }
        catch (WebException e) {
            Console.WriteLine("WebException raised!");
            Console.WriteLine("\n{0}", e.get_Message());
            Console.WriteLine("\n{0}", e.get_Status());
        }
        catch (System.Exception e) {
            Console.WriteLine("Exception raised!");
            Console.WriteLine("Source :{0} ", e.get_Source());
            Console.WriteLine("Message :{0} ", e.get_Message());
        }
    } //main
} //HttpWebRequest_Connection
import System.*;
import System.IO.*;
import System.Net.*;
import System.Text.*;

class HttpWebRequest_Connection
{
    public static void main(String[] args)
    {
        try {
            // Create a new HttpWebRequest object.Make sure that 
            // a default proxy is set if you are behind a fure wall.
            HttpWebRequest myHttpWebRequest1 = (HttpWebRequest)
                (WebRequest.Create("https://www.contoso.com"));
            myHttpWebRequest1.set_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.get_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("https://www.contoso.com"));
            myHttpWebRequest2.set_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.get_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.get_Message());
        }
        catch (WebException e) {
            Console.WriteLine("WebException raised!");
            Console.WriteLine("\n{0}", e.get_Message());
            Console.WriteLine("\n{0}", e.get_Status());
        }
        catch (System.Exception e) {
            Console.WriteLine("Exception raised!");
            Console.WriteLine("Source :{0} ", e.get_Source());
            Console.WriteLine("Message :{0} ", e.get_Message());
        }
    } //main
} //HttpWebRequest_Connection

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

HttpWebRequest-Klasse
HttpWebRequest-Member
System.Net-Namespace