FileWebRequest Klasse

Definition

Stellt eine Dateisystemimplementierung der WebRequest-Klasse bereit.Provides a file system implementation of the WebRequest class.

public ref class FileWebRequest : System::Net::WebRequest, System::Runtime::Serialization::ISerializable
[System.Serializable]
public class FileWebRequest : System.Net.WebRequest, System.Runtime.Serialization.ISerializable
type FileWebRequest = class
    inherit WebRequest
    interface ISerializable
Public Class FileWebRequest
Inherits WebRequest
Implements ISerializable
Vererbung
Attribute
Implementiert

Beispiele

Im folgenden Codebeispiel wird die FileWebRequest-Klasse verwendet, um auf eine Dateisystem Ressource zuzugreifen.The following code example uses the FileWebRequest class to access a file system resource.

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

Hinweise

Die FileWebRequest-Klasse implementiert die WebRequestabstract-Basisklasse für URIs (Uniform Resource Identifier), die das file:// Schema verwenden, um lokale Dateien anzufordern.The FileWebRequest class implements the WebRequestabstract base class for Uniform Resource Identifiers (URIs) that use the file:// scheme to request local files.

Verwenden Sie nicht die FileWebRequest Konstruktor.Do not use the FileWebRequest constructor. Verwenden Sie die WebRequest.Create-Methode, um neue Instanzen der FileWebRequest-Klasse zu initialisieren.Use the WebRequest.Create method to initialize new instances of the FileWebRequest class. Wenn das URI-Schema file://ist, gibt die Create-Methode ein FileWebRequest-Objekt zurück.If the URI scheme is file://, the Create method returns a FileWebRequest object.

Die GetResponse-Methode erstellt eine synchrone Anforderung für die Datei, die in der RequestUri-Eigenschaft angegeben ist, und gibt ein FileWebResponse Objekt zurück, das die Antwort enthält.The GetResponse method makes a synchronous request for the file specified in the RequestUri property and returns a FileWebResponse object that contains the response. Mithilfe der Methoden BeginGetResponse und EndGetResponse können Sie eine asynchrone Anforderung für die Datei vornehmen.You can make an asynchronous request for the file using the BeginGetResponse and EndGetResponse methods.

Wenn Sie Daten in eine Datei schreiben möchten, gibt die GetRequestStream Methode eine Stream Instanz zurück, in die geschrieben werden soll.When you want to write data to a file, the GetRequestStream method returns a Stream instance to write to. Die Methoden BeginGetRequestStream und EndGetRequestStream bieten asynchronen Zugriff auf den Datenstream zum Schreiben von Daten.The BeginGetRequestStream and EndGetRequestStream methods provide asynchronous access to the write data stream.

Die FileWebRequest-Klasse basiert auf der File-Klasse für die Fehlerbehandlung und die Code Zugriffssicherheit.The FileWebRequest class relies on the File class for error handling and code access security.

Konstruktoren

FileWebRequest(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der FileWebRequest-Klasse aus den angegebenen Instanzen der SerializationInfo-Klasse und der StreamingContext-Klasse.Initializes a new instance of the FileWebRequest class from the specified instances of the SerializationInfo and StreamingContext classes.

Eigenschaften

AuthenticationLevel

Ruft Werte ab, die die für diese Anforderung verwendete Ebene von Authentifizierung und Identitätswechsel angeben, oder legt diese fest.Gets or sets values indicating the level of authentication and impersonation used for this request.

(Geerbt von WebRequest)
CachePolicy

Ruft die Cacherichtlinie für diese Anforderung ab oder legt diese fest.Gets or sets the cache policy for this request.

(Geerbt von WebRequest)
ConnectionGroupName

Ruft den Namen der Verbindungsgruppe für die Anforderung ab oder legt diesen fest.Gets or sets the name of the connection group for the request. Diese Eigenschaft ist für die zukünftige Verwendung reserviert.This property is reserved for future use.

ContentLength

Ruft die Länge des Inhalts der gesendeten Daten ab, oder legt diese fest.Gets or sets the content length of the data being sent.

ContentType

Ruft den Inhaltstyp der gesendeten Daten ab, oder legt diesen fest.Gets or sets the content type of the data being sent. Diese Eigenschaft ist für die zukünftige Verwendung reserviert.This property is reserved for future use.

CreatorInstance

Ruft beim Überschreiben in einer Nachfolgerklasse das von der IWebRequestCreate-Klasse abgeleitete Factoryobjekt ab. Mit dieser Klasse wird die WebRequest erstellt, die instanziiert wird, um die Anforderung an den angegebenen URI zu stellen.When overridden in a descendant class, gets the factory object derived from the IWebRequestCreate class used to create the WebRequest instantiated for making the request to the specified URI.

(Geerbt von WebRequest)
Credentials

Ruft die dieser Anforderung zugeordneten Anmeldeinformationen ab, oder legt diese fest.Gets or sets the credentials that are associated with this request. Diese Eigenschaft ist für die zukünftige Verwendung reserviert.This property is reserved for future use.

Headers

Ruft eine Auflistung der Name/Wert-Paare ab, die der Anforderung zugeordnet sind.Gets a collection of the name/value pairs that are associated with the request. Diese Eigenschaft ist für die zukünftige Verwendung reserviert.This property is reserved for future use.

ImpersonationLevel

Ruft die Ebene des Identitätswechsels für die aktuelle Anforderung ab oder legt diese fest.Gets or sets the impersonation level for the current request.

(Geerbt von WebRequest)
Method

Ruft die für die Anforderung verwendete Protokollmethode ab, oder legt diese fest.Gets or sets the protocol method used for the request. Diese Eigenschaft ist für die zukünftige Verwendung reserviert.This property is reserved for future use.

PreAuthenticate

Ruft einen Wert ab, der angibt, ob eine Anforderung vorauthentifiziert werden soll, oder legt diesen fest.Gets or sets a value that indicates whether to preauthenticate a request. Diese Eigenschaft ist für die zukünftige Verwendung reserviert.This property is reserved for future use.

Proxy

Ruft den für diese Anforderung zu verwendenden Netzwerkproxy ab, oder legt diesen fest.Gets or sets the network proxy to use for this request. Diese Eigenschaft ist für die zukünftige Verwendung reserviert.This property is reserved for future use.

RequestUri

Ruft den URI der Anforderung ab.Gets the Uniform Resource Identifier (URI) of the request.

Timeout

Ruft die Zeitspanne bis zum Timeout der Anforderung ab, oder legt diese fest.Gets or sets the length of time until the request times out.

UseDefaultCredentials

Löst immer eine NotSupportedException aus.Always throws a NotSupportedException.

Methoden

Abort()

Bricht eine Anforderung an eine Internetressource ab.Cancels a request to an Internet resource.

BeginGetRequestStream(AsyncCallback, Object)

Startet eine asynchrone Anforderung eines Stream-Objekts, das zum Schreiben von Daten verwendet werden soll.Begins an asynchronous request for a Stream object to use to write data.

BeginGetResponse(AsyncCallback, Object)

Startet eine asynchrone Anforderung einer Dateisystemressource.Begins an asynchronous request for a file system resource.

CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Geerbt von MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

Beendet eine asynchrone Anforderung einer Stream-Instanz, die von der Anwendung zum Schreiben von Daten verwendet wird.Ends an asynchronous request for a Stream instance that the application uses to write data.

EndGetResponse(IAsyncResult)

Beendet eine asynchrone Anforderung einer Dateisystemressource.Ends an asynchronous request for a file system resource.

Equals(Object)

Ermittelt, ob das angegebene Objekt und das aktuelle Objekt gleich sind.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetLifetimeService()

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Geerbt von MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Füllt eine SerializationInfo mit den Daten auf, die zum Serialisieren des Zielobjekts erforderlich sind.Populates a SerializationInfo with the data needed to serialize the target object.

GetRequestStream()

Gibt ein Stream-Objekt zum Schreiben von Daten in die Dateisystemressource zurück.Returns a Stream object for writing data to the file system resource.

GetRequestStreamAsync()

Gibt einen Stream für das Schreiben von Daten in die Dateisystemressource als asynchroner Vorgang zurückReturns a stream for writing data to the file system resource as an asynchronous operation.

GetResponse()

Gibt eine Antwort auf eine Dateisystemanforderung zurück.Returns a response to a file system request.

GetResponseAsync()

Gibt eine Antwort auf eine Dateisystemanforderung als asynchronen Vorgang zurückReturns a response to a file system request as an asynchronous operation.

GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
InitializeLifetimeService()

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.Obtains a lifetime service object to control the lifetime policy for this instance.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.Creates a shallow copy of the current MarshalByRefObject object.

(Geerbt von MarshalByRefObject)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Füllt ein SerializationInfo-Objekt mit den zum Serialisieren der FileWebRequest erforderlichen Daten auf.Populates a SerializationInfo object with the required data to serialize the FileWebRequest.

Gilt für:

Siehe auch