FileWebRequest.GetResponse 方法

定義

傳回對檔案系統要求的回應。

C#
public override System.Net.WebResponse GetResponse();

傳回

WebResponse,包含來自檔案系統資源的回應。

例外狀況

要求逾時。

範例

下列程式代碼範例會 GetResponse 使用 方法來傳回檔系統要求回應。

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]))
          readFile();
      }
    }
  }
}

備註

方法會 GetResponseWebResponse 回 物件,其中包含來自文件系統資源的回應。

方法GetResponse會提供 同步存取 。WebResponse 針對異步存取,請使用 BeginGetResponseEndGetResponse 方法。

適用於

產品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1