HttpWebRequest.ServicePoint Property

Definition

Gets the service point to use for the request.

public:
 property System::Net::ServicePoint ^ ServicePoint { System::Net::ServicePoint ^ get(); };
public System.Net.ServicePoint ServicePoint { get; }
member this.ServicePoint : System.Net.ServicePoint
Public ReadOnly Property ServicePoint As ServicePoint

Property Value

A ServicePoint that represents the network connection to the Internet resource.

Examples

void makeWebRequest( int hashCode, String^ Uri )
{
   HttpWebResponse^ res = nullptr;
   
   // Make sure that the idle time has elapsed, so that a new 
   // ServicePoint instance is created.
   Console::WriteLine( "Sleeping for 2 sec." );
   Thread::Sleep( 2000 );
   try
   {
      
      // Create a request to the passed URI.
      HttpWebRequest^ req = dynamic_cast<HttpWebRequest^>(WebRequest::Create( Uri ));
      Console::WriteLine( "\nConnecting to {0} ............", Uri );
      
      // Get the response object.
      res = dynamic_cast<HttpWebResponse^>(req->GetResponse());
      Console::WriteLine( "Connected.\n" );
      ServicePoint^ currentServicePoint = req->ServicePoint;
      
      // Display new service point properties.
      int currentHashCode = currentServicePoint->GetHashCode();
      Console::WriteLine( "New service point hashcode: {0}", currentHashCode );
      Console::WriteLine( "New service point max idle time: {0}", currentServicePoint->MaxIdleTime );
      Console::WriteLine( "New service point is idle since {0}", currentServicePoint->IdleSince );
      
      // Check that a new ServicePoint instance has been created.
      if ( hashCode == currentHashCode )
            Console::WriteLine( "Service point reused." );
      else
            Console::WriteLine( "A new service point created." );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Source : {0}", e->Source );
      Console::WriteLine( "Message : {0}", e->Message );
   }
   finally
   {
      if ( res != nullptr )
            res->Close();
   }

}
private static void makeWebRequest(int hashCode, string Uri)
{
    HttpWebResponse res = null;

    // Make sure that the idle time has elapsed, so that a new
    // ServicePoint instance is created.
    Console.WriteLine("Sleeping for 2 sec.");
    Thread.Sleep(2000);
    try
    {
        // Create a request to the passed URI.
        HttpWebRequest req = (HttpWebRequest)WebRequest.Create(Uri);

        Console.WriteLine("\nConnecting to " + Uri + " ............");

        // Get the response object.
        res = (HttpWebResponse)req.GetResponse();
        Console.WriteLine("Connected.\n");

        ServicePoint currentServicePoint = req.ServicePoint;

        // Display new service point properties.
        int currentHashCode = currentServicePoint.GetHashCode();

        Console.WriteLine("New service point hashcode: " + currentHashCode);
        Console.WriteLine("New service point max idle time: " + currentServicePoint.MaxIdleTime);
        Console.WriteLine("New service point is idle since " + currentServicePoint.IdleSince );

        // Check that a new ServicePoint instance has been created.
        if (hashCode == currentHashCode)
            Console.WriteLine("Service point reused.");
        else
            Console.WriteLine("A new service point created.") ;
    }
    catch (Exception e)
    {
        Console.WriteLine("Source : " + e.Source);
        Console.WriteLine("Message : " + e.Message);
    }
    finally
    {
        if (res != null)
            res.Close();
    }
}
Private Shared Sub makeWebRequest(ByVal hashCode As Integer, ByVal Uri As String)
    Dim res As HttpWebResponse = Nothing

    ' Make sure that the idle time has elapsed, so that a new 
    ' ServicePoint instance is created.
    Console.WriteLine("Sleeping for 2 sec.")
    Thread.Sleep(2000)

    Try
        ' Create a request to the passed URI.
        Dim req As HttpWebRequest = CType(WebRequest.Create(Uri), HttpWebRequest)
        Console.WriteLine((ControlChars.Lf + "Connecting to " + Uri + " ............"))

        ' Get the response object.
        res = CType(req.GetResponse(), HttpWebResponse)
        Console.WriteLine("Connected." + ControlChars.Lf)
        Dim currentServicePoint As ServicePoint = req.ServicePoint

        ' Display new service point properties.
        Dim currentHashCode As Integer = currentServicePoint.GetHashCode()
        Console.WriteLine(("New service point hashcode: " + currentHashCode.ToString()))
        Console.WriteLine(("New service point max idle time: " + currentServicePoint.MaxIdleTime.ToString()))
        Console.WriteLine(("New service point is idle since " + currentServicePoint.IdleSince.ToString()))

        ' Check that a new ServicePoint instance has been created.
        If hashCode = currentHashCode Then
            Console.WriteLine("Service point reused.")
        Else
            Console.WriteLine("A new service point created.")
        End If
    Catch e As Exception
        Console.WriteLine(("Source : " + e.Source))
        Console.WriteLine(("Message : " + e.Message))
    Finally
        If Not (res Is Nothing) Then
            res.Close()
        End If
    End Try
End Sub

Remarks

The ServicePoint.Address property may be different from HttpWebRequest.Address if the request is redirected.

Applies to