Επεξεργασία

Κοινή χρήση μέσω


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

Caution

WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete, and you shouldn't use them for new development. Use HttpClient instead.

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

Applies to