FileWebRequest 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
WebRequest 클래스의 파일 시스템 구현을 제공합니다.
public ref class FileWebRequest : System::Net::WebRequest, System::Runtime::Serialization::ISerializable
public ref class FileWebRequest : System::Net::WebRequest
public class FileWebRequest : System.Net.WebRequest, System.Runtime.Serialization.ISerializable
[System.Serializable]
public class FileWebRequest : System.Net.WebRequest, System.Runtime.Serialization.ISerializable
public class FileWebRequest : System.Net.WebRequest
type FileWebRequest = class
inherit WebRequest
interface ISerializable
[<System.Serializable>]
type FileWebRequest = class
inherit WebRequest
interface ISerializable
Public Class FileWebRequest
Inherits WebRequest
Implements ISerializable
Public Class FileWebRequest
Inherits WebRequest
- 상속
- 특성
- 구현
예제
다음 코드 예제에서는 FileWebRequest 클래스를 사용하여 파일 시스템 리소스에 액세스합니다.
// This program creates or open a text file in which it stores a string.
// Both file and string are 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 write access.
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Text;
using namespace System::Net;
ref class TestGetRequestStream
{
private:
static FileWebRequest^ myFileWebRequest;
static void showUsage()
{
Console::WriteLine( "\nPlease enter file name and timeout :" );
Console::WriteLine( "Usage: cs_getrequeststream <systemname>/<sharedfoldername>/<filename> timeout" );
Console::WriteLine( "Example: cs_getrequeststream ndpue/temp/hello.txt 1000" );
Console::WriteLine( "Small timeout values (for instance 3 or less) cause a timeout exception." );
}
static void makeFileRequest( String^ fileName, int timeout )
{
try
{
// Create a Uri object.
Uri^ myUrl = gcnew Uri( String::Format( "file://{0}", fileName ) );
// Create a FileWebRequest object.
myFileWebRequest = dynamic_cast<FileWebRequest^>(WebRequest::CreateDefault( myUrl ));
// Set the timeout to the value selected by the user.
myFileWebRequest->Timeout = timeout;
// Set the Method property to POST
myFileWebRequest->Method = "POST";
}
catch ( WebException^ e )
{
Console::WriteLine( "WebException: {0}", e->Message );
}
catch ( UriFormatException^ e )
{
Console::WriteLine( "UriFormatWebException: {0}", e->Message );
}
}
static void writeToFile()
{
try
{
// Enter the string to write into the file.
Console::WriteLine( "Enter the string you want to write:" );
String^ userInput = Console::ReadLine();
// Convert the string to Byte array.
ASCIIEncoding^ encoder = gcnew ASCIIEncoding;
array<Byte>^byteArray = encoder->GetBytes( userInput );
// Set the ContentLength property.
myFileWebRequest->ContentLength = byteArray->Length;
String^ contentLength = myFileWebRequest->ContentLength.ToString();
Console::WriteLine( "\nThe content length is {0}.", contentLength );
// Get the file stream handler to write into the file.
Stream^ readStream = myFileWebRequest->GetRequestStream();
// Write to the file stream.
// Note. In order for this to work the file must be accessible
// on the network. This can be accomplished by setting the property
// sharing of the folder containg the file. The permissions
// can be set so everyone can modify the file.
// FileWebRequest::Credentials property cannot be used for this purpose.
readStream->Write( byteArray, 0, userInput->Length );
Console::WriteLine( "\nThe String you entered was successfully written into the file." );
readStream->Close();
}
catch ( WebException^ e )
{
Console::WriteLine( "The WebException: {0}", e->Message );
}
catch ( UriFormatException^ e )
{
Console::WriteLine( "The UriFormatWebException: {0}", e->Message );
}
}
public:
static void Main()
{
array<String^>^args = Environment::GetCommandLineArgs();
if ( args->Length < 3 )
showUsage();
else
{
makeFileRequest( args[ 1 ], Int32::Parse( args[ 2 ] ) );
writeToFile();
}
}
};
int main()
{
TestGetRequestStream::Main();
}
// This example creates or opens a text file and stores a string in it.
// Both the file and the string are 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 write access.
using System.Net;
using System;
using System.IO;
using System.Text;
namespace Mssc.PluggableProtocols.File
{
class TestGetRequestStream
{
private static FileWebRequest myFileWebRequest;
private static void showUsage ()
{
Console.WriteLine ("\nPlease enter file name and timeout :");
Console.WriteLine ("Usage: cs_getrequeststream <systemname>/<sharedfoldername>/<filename> timeout");
Console.WriteLine ("Example: cs_getrequeststream ngetrequestrtream() ndpue/temp/hello.txt 1000");
Console.WriteLine ("Small time-out values (for example, 3 or less) cause a time-out exception.");
}
private static void makeFileRequest (string fileName, int timeout)
{
try
{
// Create a Uri object.
Uri myUrl = new Uri ("file://" + fileName);
// Create a FileWebRequest object.
myFileWebRequest = (FileWebRequest)WebRequest.CreateDefault (myUrl);
// Set the time-out to the value selected by the user.
myFileWebRequest.Timeout = timeout;
// Set the Method property to POST
myFileWebRequest.Method = "POST";
}
catch (WebException e)
{
Console.WriteLine ("WebException: " + e.Message);
}
catch (UriFormatException e)
{
Console.WriteLine ("UriFormatWebException: " + e.Message);
}
}
private static void writeToFile ()
{
try
{
// Enter the string to write to the file.
Console.WriteLine ("Enter the string you want to write:");
string userInput = Console.ReadLine ();
// Convert the string to a byte array.
ASCIIEncoding encoder = new ASCIIEncoding ();
byte[] byteArray = encoder.GetBytes (userInput);
// Set the ContentLength property.
myFileWebRequest.ContentLength = byteArray.Length;
string contentLength = myFileWebRequest.ContentLength.ToString ();
Console.WriteLine ("\nThe content length is {0}.", contentLength);
// Get the file stream handler to write to the file.
Stream readStream = myFileWebRequest.GetRequestStream ();
// Write to the file stream.
// Note. For this to work, the file must be accessible
// on the network. This can be accomplished by setting the property
// sharing of the folder containg the file.
// FileWebRequest.Credentials property cannot be used for this purpose.
readStream.Write (byteArray, 0, userInput.Length);
Console.WriteLine ("\nThe String you entered was successfully written to the file.");
readStream.Close ();
}
catch (WebException e)
{
Console.WriteLine ("The WebException: " + e.Message);
}
catch (UriFormatException e)
{
Console.WriteLine ("The UriFormatWebException: " + e.Message);
}
}
public static void Main (String[] args)
{
if (args.Length < 2)
{
showUsage ();
}
else
{
makeFileRequest (args[0], int.Parse (args[1]));
writeToFile ();
}
}
}
}
'
' This example creates or opens a text file and stores a string in it.
' Both the file and the string are 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 write access.
Imports System.Net
Imports System.IO
Imports System.Text
Namespace Mssc.PluggableProtocols.File
Module TestGetRequestStream
Class TestGetRequestStream
Private Shared myFileWebRequest As FileWebRequest
' Show how to use this program.
Private Shared Sub showUsage()
Console.WriteLine(ControlChars.Lf + "Please enter file name and timeout :")
Console.WriteLine("Usage: vb_getrequeststream <systemname>/<sharedfoldername>/<filename> timeout")
Console.WriteLine("Example: vb_getrequeststream ngetrequestrtream() ndpue/temp/hello.txt 1000")
Console.WriteLine("Small time-out values (for example, 3 or less) cause a time-out exception.")
End Sub
Private Shared Sub makeFileRequest(ByVal fileName As String, ByVal timeout As Integer)
Try
' Create a Uri object.to access the file requested by the user.
Dim myUrl As New Uri("file://" + fileName)
' Create a FileWebRequest object.for the requeste file.
myFileWebRequest = CType(WebRequest.CreateDefault(myUrl), FileWebRequest)
' Set the time-out to the value selected by the user.
myFileWebRequest.Timeout = timeout
' Set the Method property to POST
myFileWebRequest.Method = "POST"
Catch e As WebException
Console.WriteLine(("WebException is: " + e.Message))
Catch e As UriFormatException
Console.WriteLine(("UriFormatWebException is: " + e.Message))
End Try
End Sub
Private Shared Sub writeToFile()
Try
' Enter the string to write to the file.
Console.WriteLine("Enter the string you want to write:")
Dim userInput As String = Console.ReadLine()
' Convert the string to a byte array.
Dim encoder As New ASCIIEncoding
Dim byteArray As Byte() = encoder.GetBytes(userInput)
' Set the ContentLength property.
myFileWebRequest.ContentLength = byteArray.Length
Dim contentLength As String = myFileWebRequest.ContentLength.ToString()
Console.WriteLine(ControlChars.Lf + "The content length is {0}.", contentLength)
' Get the file stream handler to write to the file.
Dim readStream As Stream = myFileWebRequest.GetRequestStream()
' Write to the stream.
' Note. For this to work the file must be accessible
' on the network. This can be accomplished by setting the property
' sharing of the folder containg the file.
' FileWebRequest.Credentials property cannot be used for this purpose.
readStream.Write(byteArray, 0, userInput.Length)
Console.WriteLine(ControlChars.Lf + "The String you entered was successfully written to the file.")
readStream.Close()
Catch e As WebException
Console.WriteLine(("WebException is: " + e.Message))
Catch e As UriFormatException
Console.WriteLine(("UriFormatWebException is: " + e.Message))
End Try
End Sub
Public Shared Sub Main(ByVal args() As String)
If args.Length < 2 Then
showUsage()
Else
makeFileRequest(args(0), Integer.Parse(args(1)))
writeToFile()
End If
End Sub
End Class
End Module
End Namespace
설명
FileWebRequest 클래스는 file://
체계를 사용하여 로컬 파일을 요청하는 URI(Uniform Resource Identifiers)에 대한 WebRequestabstract
기본 클래스를 구현합니다.
FileWebRequest 생성자를 사용하지 마세요.
WebRequest.Create 메서드를 사용하여 FileWebRequest 클래스의 새 인스턴스를 초기화합니다. URI 구성표가 file://
경우 Create 메서드는 FileWebRequest 개체를 반환합니다.
GetResponse 메서드는 RequestUri 속성에 지정된 파일에 대해 동기 요청을 수행하고 응답을 포함하는 FileWebResponse 개체를 반환합니다. BeginGetResponse 및 EndGetResponse 메서드를 사용하여 파일에 대한 비동기 요청을 만들 수 있습니다.
파일에 데이터를 쓰려는 경우 GetRequestStream 메서드는 쓸 Stream 인스턴스를 반환합니다. BeginGetRequestStream 및 EndGetRequestStream 메서드는 쓰기 데이터 스트림에 대한 비동기 액세스를 제공합니다.
FileWebRequest 클래스는 오류 처리 및 코드 액세스 보안을 위해 File 클래스를 사용합니다.
생성자
FileWebRequest(SerializationInfo, StreamingContext) |
사용되지 않음.
사용되지 않음.
사용되지 않음.
SerializationInfo 및 StreamingContext 클래스의 지정된 인스턴스에서 FileWebRequest 클래스의 새 인스턴스를 초기화합니다. |
속성
AuthenticationLevel |
이 요청에 사용되는 인증 및 가장 수준을 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 WebRequest) |
CachePolicy |
이 요청에 대한 캐시 정책을 가져오거나 설정합니다. (다음에서 상속됨 WebRequest) |
ConnectionGroupName |
요청에 대한 연결 그룹의 이름을 가져오거나 설정합니다. 이 속성은 나중에 사용할 수 있습니다. |
ContentLength |
전송되는 데이터의 콘텐츠 길이를 가져오거나 설정합니다. |
ContentType |
전송되는 데이터의 콘텐츠 형식을 가져오거나 설정합니다. 이 속성은 나중에 사용할 수 있습니다. |
CreatorInstance |
사용되지 않음.
하위 클래스에서 재정의되는 경우 지정된 URI에 대한 요청을 만들기 위해 인스턴스화된 WebRequest 만드는 데 사용되는 IWebRequestCreate 클래스에서 파생된 팩터리 개체를 가져옵니다. (다음에서 상속됨 WebRequest) |
Credentials |
이 요청과 연결된 자격 증명을 가져오거나 설정합니다. 이 속성은 나중에 사용할 수 있습니다. |
Headers |
요청과 연결된 이름/값 쌍의 컬렉션을 가져옵니다. 이 속성은 나중에 사용할 수 있습니다. |
ImpersonationLevel |
현재 요청에 대한 가장 수준을 가져오거나 설정합니다. (다음에서 상속됨 WebRequest) |
Method |
요청에 사용되는 프로토콜 메서드를 가져오거나 설정합니다. 이 속성은 나중에 사용할 수 있습니다. |
PreAuthenticate |
요청을 미리 인증할지 여부를 나타내는 값을 가져오거나 설정합니다. 이 속성은 나중에 사용할 수 있습니다. |
Proxy |
이 요청에 사용할 네트워크 프록시를 가져오거나 설정합니다. 이 속성은 나중에 사용할 수 있습니다. |
RequestUri |
요청의 URI(Uniform Resource Identifier)를 가져옵니다. |
Timeout |
요청 시간이 초과될 때까지의 시간 길이를 가져오거나 설정합니다. |
UseDefaultCredentials |
항상 NotSupportedExceptionthrow합니다. |
UseDefaultCredentials |
하위 클래스에서 재정의되는 경우 요청과 함께 DefaultCredentials 전송되는지 여부를 제어하는 Boolean 값을 가져오거나 설정합니다. (다음에서 상속됨 WebRequest) |
메서드
Abort() |
인터넷 리소스에 대한 요청을 취소합니다. |
Abort() |
요청을 중단합니다. (다음에서 상속됨 WebRequest) |
BeginGetRequestStream(AsyncCallback, Object) |
데이터를 쓰는 데 사용할 Stream 개체에 대한 비동기 요청을 시작합니다. |
BeginGetResponse(AsyncCallback, Object) |
파일 시스템 리소스에 대한 비동기 요청을 시작합니다. |
CreateObjRef(Type) |
원격 개체와 통신하는 데 사용되는 프록시를 생성하는 데 필요한 모든 관련 정보를 포함하는 개체를 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
EndGetRequestStream(IAsyncResult) |
애플리케이션이 데이터를 쓰는 데 사용하는 Stream 인스턴스에 대한 비동기 요청을 종료합니다. |
EndGetResponse(IAsyncResult) |
파일 시스템 리소스에 대한 비동기 요청을 종료합니다. |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
GetHashCode() |
기본 해시 함수로 사용됩니다. (다음에서 상속됨 Object) |
GetLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 현재 수명 서비스 개체를 검색합니다. (다음에서 상속됨 MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) |
사용되지 않음.
대상 개체를 serialize하는 데 필요한 데이터로 SerializationInfo 채웁니다. |
GetObjectData(SerializationInfo, StreamingContext) |
사용되지 않음.
대상 개체를 serialize하는 데 필요한 데이터로 SerializationInfo 채웁니다. (다음에서 상속됨 WebRequest) |
GetRequestStream() |
파일 시스템 리소스에 데이터를 쓰기 위한 Stream 개체를 반환합니다. |
GetRequestStreamAsync() |
비동기 작업으로 파일 시스템 리소스에 데이터를 쓰기 위한 스트림을 반환합니다. |
GetRequestStreamAsync() |
하위 클래스에서 재정의되는 경우 비동기 작업으로 인터넷 리소스에 데이터를 쓰기 위한 Stream 반환합니다. (다음에서 상속됨 WebRequest) |
GetResponse() |
파일 시스템 요청에 대한 응답을 반환합니다. |
GetResponseAsync() |
파일 시스템 요청에 대한 응답을 비동기 작업으로 반환합니다. |
GetResponseAsync() |
하위 클래스에서 재정의되는 경우 인터넷 요청에 대한 응답을 비동기 작업으로 반환합니다. (다음에서 상속됨 WebRequest) |
GetType() |
현재 인스턴스의 Type 가져옵니다. (다음에서 상속됨 Object) |
InitializeLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다. (다음에서 상속됨 MarshalByRefObject) |
MemberwiseClone() |
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
MemberwiseClone(Boolean) |
현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
사용되지 않음.
FileWebRequestserialize하는 데 필요한 데이터로 SerializationInfo 개체를 채웁니다. |
적용 대상
추가 정보
.NET