Udostępnij za pośrednictwem


FileWebRequest Klasa

Definicja

Zapewnia implementację systemu plików klasy 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
Dziedziczenie
Atrybuty
Implementuje

Przykłady

W poniższym przykładzie kodu użyto klasy FileWebRequest w celu uzyskania dostępu do zasobu systemu plików.

// 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

Uwagi

Klasa FileWebRequest implementuje klasę bazową WebRequestabstract dla identyfikatorów URI (Uniform Resource Identifiers), które używają schematu file:// do żądania plików lokalnych.

Nie używaj konstruktora FileWebRequest. Użyj metody WebRequest.Create, aby zainicjować nowe wystąpienia klasy FileWebRequest. Jeśli schemat identyfikatora URI jest file://, metoda Create zwraca obiekt FileWebRequest.

Metoda GetResponse tworzy synchroniczne żądanie dla pliku określonego we właściwości RequestUri i zwraca obiekt FileWebResponse zawierający odpowiedź. Możesz wysłać żądanie asynchroniczne dla pliku przy użyciu metod BeginGetResponse i EndGetResponse.

Jeśli chcesz zapisać dane w pliku, metoda GetRequestStream zwraca wystąpienie Stream do zapisu. Metody BeginGetRequestStream i EndGetRequestStream zapewniają asynchroniczny dostęp do strumienia danych zapisu.

Klasa FileWebRequest opiera się na klasie File na potrzeby obsługi błędów i zabezpieczeń dostępu do kodu.

Konstruktory

FileWebRequest(SerializationInfo, StreamingContext)
Przestarzałe.
Przestarzałe.
Przestarzałe.

Inicjuje nowe wystąpienie klasy FileWebRequest z określonych wystąpień klas SerializationInfo i StreamingContext.

Właściwości

AuthenticationLevel

Pobiera lub ustawia wartości wskazujące poziom uwierzytelniania i personifikacji używane dla tego żądania.

(Odziedziczone po WebRequest)
CachePolicy

Pobiera lub ustawia zasady pamięci podręcznej dla tego żądania.

(Odziedziczone po WebRequest)
ConnectionGroupName

Pobiera lub ustawia nazwę grupy połączeń dla żądania. Ta właściwość jest zarezerwowana do użytku w przyszłości.

ContentLength

Pobiera lub ustawia długość zawartości wysyłanych danych.

ContentType

Pobiera lub ustawia typ zawartości wysyłanych danych. Ta właściwość jest zarezerwowana do użytku w przyszłości.

CreatorInstance
Przestarzałe.

Po zastąpieniu w klasie potomnej pobiera obiekt fabryki pochodzący z klasy IWebRequestCreate użytej do utworzenia wystąpienia WebRequest do utworzenia żądania do określonego identyfikatora URI.

(Odziedziczone po WebRequest)
Credentials

Pobiera lub ustawia poświadczenia skojarzone z tym żądaniem. Ta właściwość jest zarezerwowana do użytku w przyszłości.

Headers

Pobiera kolekcję par nazwa/wartość, które są skojarzone z żądaniem. Ta właściwość jest zarezerwowana do użytku w przyszłości.

ImpersonationLevel

Pobiera lub ustawia poziom personifikacji dla bieżącego żądania.

(Odziedziczone po WebRequest)
Method

Pobiera lub ustawia metodę protokołu używaną dla żądania. Ta właściwość jest zarezerwowana do użytku w przyszłości.

PreAuthenticate

Pobiera lub ustawia wartość wskazującą, czy wstępnie uwierzytelnić żądanie. Ta właściwość jest zarezerwowana do użytku w przyszłości.

Proxy

Pobiera lub ustawia serwer proxy sieci do użycia dla tego żądania. Ta właściwość jest zarezerwowana do użytku w przyszłości.

RequestUri

Pobiera identyfikator URI (Uniform Resource Identifier) żądania.

Timeout

Pobiera lub ustawia czas do przekroczenia limitu czasu żądania.

UseDefaultCredentials

Zawsze zgłasza NotSupportedException.

UseDefaultCredentials

Po zastąpieniu klasy potomnej pobiera lub ustawia Boolean wartość, która kontroluje, czy DefaultCredentials są wysyłane z żądaniami.

(Odziedziczone po WebRequest)

Metody

Abort()

Anuluje żądanie do zasobu internetowego.

Abort()

Przerywa żądanie.

(Odziedziczone po WebRequest)
BeginGetRequestStream(AsyncCallback, Object)

Rozpoczyna żądanie asynchroniczne dla obiektu Stream używanego do zapisywania danych.

BeginGetResponse(AsyncCallback, Object)

Rozpoczyna żądanie asynchroniczne dla zasobu systemu plików.

CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

Kończy żądanie asynchroniczne dla wystąpienia Stream, którego aplikacja używa do zapisywania danych.

EndGetResponse(IAsyncResult)

Kończy żądanie asynchroniczne dla zasobu systemu plików.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLifetimeService()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)
Przestarzałe.

Wypełnia SerializationInfo danymi potrzebnymi do serializacji obiektu docelowego.

GetObjectData(SerializationInfo, StreamingContext)
Przestarzałe.

Wypełnia SerializationInfo danymi potrzebnymi do serializacji obiektu docelowego.

(Odziedziczone po WebRequest)
GetRequestStream()

Zwraca obiekt Stream do zapisywania danych w zasobie systemu plików.

GetRequestStreamAsync()

Zwraca strumień do zapisywania danych do zasobu systemu plików jako operację asynchroniczną.

GetRequestStreamAsync()

Po zastąpieniu w klasie potomnej zwraca Stream do zapisywania danych do zasobu internetowego jako operacji asynchronicznej.

(Odziedziczone po WebRequest)
GetResponse()

Zwraca odpowiedź na żądanie systemu plików.

GetResponseAsync()

Zwraca odpowiedź na żądanie systemu plików jako operację asynchroniczną.

GetResponseAsync()

Po zastąpieniu w klasie potomnej zwraca odpowiedź na żądanie internetowe jako operację asynchroniczną.

(Odziedziczone po WebRequest)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego obiektu MarshalByRefObject.

(Odziedziczone po MarshalByRefObject)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

ISerializable.GetObjectData(SerializationInfo, StreamingContext)
Przestarzałe.

Wypełnia obiekt SerializationInfo wymaganymi danymi w celu serializacji FileWebRequest.

Dotyczy

Zobacz też