ファイル システム要求への応答を返します。
Overrides Public Function GetResponse() As WebResponse
[C#]
public override WebResponse GetResponse();
[C++]
public: WebResponse* GetResponse();
[JScript]
public override function GetResponse() : WebResponse;
戻り値
ファイル システム リソースからの応答を格納する WebResponse 。
例外
例外の種類 | 条件 |
---|---|
WebException | 要求がタイムアウトしました。 |
解説
GetResponse メソッドは、ファイル システム リソースからの応答を格納した WebResponse インスタンスを返します。
GetResponse メソッドは、 WebResponse への同期アクセスを提供します。非同期アクセスでは、 BeginGetResponse メソッドと EndGetResponse メソッドを使用します。
使用例
[Visual Basic, C#, C++] GetResponse メソッドを使用して、ファイル システム要求への応答を返す例を次に示します。
'
' 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] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ