FileWebRequest.GetResponse 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回對檔案系統要求的回應。
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
傳回
WebResponse,包含來自檔案系統資源的回應。
例外狀況
要求逾時。
範例
下列程式代碼範例會 GetResponse 使用 方法來傳回檔系統要求回應。
//
// 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])== true)
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
備註
方法會 GetResponse 傳 WebResponse 回 物件,其中包含來自文件系統資源的回應。
方法GetResponse會提供 同步存取 。WebResponse 針對異步存取,請使用 BeginGetResponse 和 EndGetResponse 方法。