Udostępnij za pośrednictwem


FileWebRequest.GetResponse Metoda

Definicja

Zwraca odpowiedź na żądanie systemu plików.

public:
 override System::Net::WebResponse ^ GetResponse();
public override System.Net.WebResponse GetResponse ();
override this.GetResponse : unit -> System.Net.WebResponse
Public Overrides Function GetResponse () As WebResponse

Zwraca

Element WebResponse zawierający odpowiedź z zasobu systemu plików.

Wyjątki

Upłynął limit czasu żądania.

Przykłady

Poniższy przykład kodu używa metody , GetResponse aby zwrócić odpowiedź żądania systemu plików.

//
// This program shows how to use the FileWebRequest::GetResponse method 
// to read and display the content of a file passed by the user.
// Note. In order for this program to work, the folder containing the test file
// must be shared with its permissions set to allow read access. 
#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::IO;
ref class TestGetResponse
{
private:
   static FileWebResponse^ myFileWebResponse;
   static void showUsage()
   {
      Console::WriteLine( "\nPlease enter file name:" );
      Console::WriteLine( "Usage: cs_getresponse <systemname>/<sharedfoldername>/<filename>" );
      Console::WriteLine( "Example: cs_getresponse ndpue/temp/hello.txt" );
   }

   static bool makeFileRequest( String^ fileName )
   {
      bool requestOk = false;
      try
      {
         Uri^ myUrl = gcnew Uri( String::Format( "file://{0}", fileName ) );
         
         // Create a Filewebrequest object using the passed Uri. 
         FileWebRequest^ myFileWebRequest = dynamic_cast<FileWebRequest^>(WebRequest::Create( myUrl ));
         
         // Get the FileWebResponse object.
         myFileWebResponse = dynamic_cast<FileWebResponse^>(myFileWebRequest->GetResponse());
         requestOk = true;
      }
      catch ( WebException^ e ) 
      {
         Console::WriteLine( "WebException: {0}", e->Message );
      }
      catch ( UriFormatException^ e ) 
      {
         Console::WriteLine( "UriFormatWebException: {0}", e->Message );
      }

      return requestOk;
   }

   static void readFile()
   {
      try
      {
         
         // Create the file stream. 
         Stream^ receiveStream = myFileWebResponse->GetResponseStream();
         
         // Create a reader object to read the file content.
         StreamReader^ readStream = gcnew StreamReader( receiveStream );
         
         // Create a local buffer for a temporary storage of the 
         // read data.
         array<Char>^readBuffer = gcnew array<Char>(256);
         
         // Read the first up to 256 bytes.
         int count = readStream->Read( readBuffer, 0, 256 );
         Console::WriteLine( "The file content is:" );
         Console::WriteLine( "" );
         
         // Loop to read the remaining bytes in 256 blocks
         // and display the data on the console.
         while ( count > 0 )
         {
            String^ str = gcnew String( readBuffer,0,count );
            Console::WriteLine(  "{0}\n", str );
            count = readStream->Read( readBuffer, 0, 256 );
         }
         readStream->Close();
         
         // Release the response object resources.
         myFileWebResponse->Close();
      }
      catch ( WebException^ e ) 
      {
         Console::WriteLine( "The WebException: {0}", e->Message );
      }
      catch ( UriFormatException^ e ) 
      {
         Console::WriteLine( "The UriFormatException: {0}", e->Message );
      }

   }


public:
   static void Main()
   {
      array<String^>^args = Environment::GetCommandLineArgs();
      if ( args->Length < 2 )
            showUsage();
      else
      {
         if ( makeFileRequest( args[ 1 ] ) )
                  readFile();
      }
   }

};

int main()
{
   TestGetResponse::Main();
}
//
// This example shows how to use the FileWebRequest.GetResponse method
// to read and display the contents of a file passed by the user.
// Note.  For this program to work, the folder containing the test file
// must be shared, with its permissions set to allow read access.

using System;
using System.Net;
using System.IO;

namespace Mssc.PluggableProtocols.File
{

  class TestGetResponse
  {
    private static FileWebResponse myFileWebResponse;

    private static void showUsage()
    {
      Console.WriteLine("\nPlease enter file name:");
      Console.WriteLine("Usage: cs_getresponse <systemname>/<sharedfoldername>/<filename>");
    }

    private static bool makeFileRequest(string fileName)
    {
      bool requestOk = false;
      try
      {
        Uri myUrl = new Uri("file://" + fileName);

        // Create a FileWebRequest object using the passed URI.
        FileWebRequest myFileWebRequest = (FileWebRequest)WebRequest.Create(myUrl);

        // Get the FileWebResponse object.
        myFileWebResponse =(FileWebResponse)myFileWebRequest.GetResponse();

        requestOk = true;
      }
      catch(WebException e)
      {
        Console.WriteLine("WebException: "+e.Message);
      }
      catch(UriFormatException e)
      {
        Console.WriteLine("UriFormatWebException: "+e.Message);
      }

      return requestOk;
    }

    private static void readFile()
    {
      try
      {
        // Create the file stream.
        Stream receiveStream=myFileWebResponse.GetResponseStream();

        // Create a reader object to read the file content.
        StreamReader readStream = new StreamReader( receiveStream );

        // Create a local buffer for a temporary storage of the
        // read data.
        char[] readBuffer = new Char[256];

        // Read the first 256 bytes.
        int count = readStream.Read( readBuffer, 0, 256 );

        Console.WriteLine("The file content is:");
        Console.WriteLine("");

        // Loop to read the remaining data in blocks of 256 bytes
        // and display the data on the console.
        while (count > 0)
        {
          String str = new String(readBuffer, 0, count);
          Console.WriteLine(str+"\n");
          count = readStream.Read(readBuffer, 0, 256);
        }

        readStream.Close();

        // Release the response object resources.
        myFileWebResponse.Close();
      }
      catch(WebException e)
      {
        Console.WriteLine("The WebException: "+e.Message);
      }
      catch(UriFormatException e)
      {
        Console.WriteLine("The UriFormatException: "+e.Message);
      }
    }

    static void Main(string[] args)
    {

      if (args.Length < 1)
            {
                showUsage();
            }
            else
      {
        if (makeFileRequest(args[0]))
          readFile();
      }
    }
  }
}
'
' This example shows how to use the FileWebRequest.GetResponse method 
' to read and display the contents of a file passed by the user.
' Note.  For this program to work, the folder containing the test file
' must be shared, with its permissions set to allow read access. 


Imports System.Net
Imports System.IO


Namespace Mssc.PluggableProtocols.File

  Module M_TestGetResponse

    Class TestGetResponse
      Private Shared myFileWebResponse As FileWebResponse


      Private Shared Sub showUsage()
        Console.WriteLine(ControlChars.Lf + "Please enter file name:")
        Console.WriteLine("Usage: cs_getresponse <systemname>/<sharedfoldername>/<filename>")
      End Sub


      Private Shared Function makeFileRequest(ByVal fileName As String) As Boolean
        Dim requestOk As Boolean = False
        Try
          Dim myUrl As New Uri("file://" + fileName)

          ' Create a FileWebRequest object using the passed URI. 
          Dim myFileWebRequest As FileWebRequest = CType(WebRequest.Create(myUrl), FileWebRequest)

          ' Get the FileWebResponse object.
          myFileWebResponse = CType(myFileWebRequest.GetResponse(), FileWebResponse)

          requestOk = True
        Catch e As WebException
          Console.WriteLine(("WebException: " + e.Message))
        Catch e As UriFormatException
          Console.WriteLine(("UriFormatWebException: " + e.Message))
        End Try

        Return requestOk
      End Function 'makeFileRequest


      Private Shared Sub readFile()
        Try
          ' Create the file stream. 
          Dim receiveStream As Stream = myFileWebResponse.GetResponseStream()

          ' Create a reader object to read the file content.
          Dim readStream As New StreamReader(receiveStream)

          ' Create a local buffer for a temporary storage of the 
          ' read data.
          Dim readBuffer() As Char = New [Char](255) {}

          ' Read the first 256 bytes.
          Dim count As Integer = readStream.Read(readBuffer, 0, 256)

          Console.WriteLine("The file content is:")
          Console.WriteLine("")

          'Loop to read the remaining data in blocks of 256 bytes
          'and display the data on the console.
          While count > 0
            Dim str As New [String](readBuffer, 0, count)
            Console.WriteLine((str + ControlChars.Lf))
            count = readStream.Read(readBuffer, 0, 256)
          End While

          readStream.Close()

          ' Release the response object resources.
          myFileWebResponse.Close()

        Catch e As WebException
          Console.WriteLine(("The WebException: " + e.Message))
        Catch e As UriFormatException
          Console.WriteLine(("The UriFormatException: " + e.Message))
        End Try
      End Sub

      'Entry point which delegates to C-style main Private Function
      Public Shared Sub Main(ByVal args() As String)

        If args.Length < 1 Then
          showUsage()
        Else
          If makeFileRequest(args(0)) = True Then
            readFile()
          End If
        End If
      End Sub
    End Class

  End Module

End Namespace

Uwagi

Metoda GetResponse zwraca WebResponse obiekt zawierający odpowiedź z zasobu systemu plików.

Metoda GetResponse zapewnia synchroniczny dostęp do elementu WebResponse. W przypadku dostępu asynchronicznego użyj BeginGetResponse metod i EndGetResponse .

Dotyczy