Export (0) Print
Expand All

FileWebRequest.GetResponse Method

Returns a response to a file system request.

[Visual Basic]
Overrides Public Function GetResponse() As WebResponse
[C#]
public override WebResponse GetResponse();
[C++]
public: WebResponse* GetResponse();
[JScript]
public override function GetResponse() : WebResponse;

Return Value

A WebResponse that contains the response from the file system resource.

Exceptions

Exception Type Condition
WebException The request timed out.

Remarks

The GetResponse method returns a WebResponse instance containing the response from the file system resource.

The GetResponse method provides synchronous access to the WebResponse. For asynchronous access, use the BeginGetResponse and EndGetResponse methods.

Example

[Visual Basic, C#, C++] The following example uses the GetResponse method to return a file system request response.

[Visual Basic] 
'
' 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
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 'showUsage


      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 'readFile

      '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 'Main
    End Class 'TestGetResponse

  End Module

End Namespace


[C#] 
//
// 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])== true)
          readFile();
      }   
    }
  }
}

[C++] 
//
// 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 <mscorlib.dll>
#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::IO;

__gc class TestGetResponse {
private:
   static FileWebResponse*  myFileWebResponse;

   static void showUsage() {
      Console::WriteLine(S"\nPlease enter file name:");
      Console::WriteLine(S"Usage: cs_getresponse <systemname>/<sharedfoldername>/<filename>");
      Console::WriteLine(S"Example: cs_getresponse ndpue/temp/hello.txt");
   }

   static bool makeFileRequest(String* fileName) {
      bool requestOk = false;
      try {
         Uri* myUrl = new Uri(String::Format(S"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(S"WebException: {0}", e->Message);
      } catch (UriFormatException* e) {
         Console::WriteLine(S"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 = new StreamReader(receiveStream);

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

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

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

         // Loop to read the remaining bytes in 256 blocks
         // and display the data on the console.
         while (count > 0) {
            String* str = new 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(S"The WebException: {0}", e->Message);
      } catch (UriFormatException* e) {
         Console::WriteLine(S"The UriFormatException: {0}", e->Message);
      }
   }

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

int main()
{
   TestGetResponse::Main();
}

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

FileWebRequest Class | FileWebRequest Members | System.Net Namespace

Show:
© 2014 Microsoft