FileWebRequest FileWebRequest FileWebRequest FileWebRequest Class

Definizione

Fornisce un'implementazione di file system della classe WebRequest.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
Ereditarietà
Attributi
Implementazioni

Esempi

Nell'esempio di codice seguente viene FileWebRequest usata la classe per accedere a una risorsa file System.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
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 'Main

        End Class 'TestGetRequestStream



    End Module

End Namespace

Commenti

La FileWebRequest classe implementa la WebRequest abstract classe di base per gli URI (Uniform Resource Identifier) che usano file:// lo schema per richiedere i file locali.The FileWebRequest class implements the WebRequestabstract base class for Uniform Resource Identifiers (URIs) that use the file:// scheme to request local files.

Non utilizzare il FileWebRequest costruttore.Do not use the FileWebRequest constructor. Usare il WebRequest.Create metodo per inizializzare nuove istanze FileWebRequest della classe.Use the WebRequest.Create method to initialize new instances of the FileWebRequest class. Se lo schema URI è file://, il Create metodo restituisce un FileWebRequest oggetto.If the URI scheme is file://, the Create method returns a FileWebRequest object.

Il GetResponse metodo esegue una richiesta sincrona per il file specificato RequestUri nella proprietà e restituisce un FileWebResponse oggetto che contiene la risposta.The GetResponse method makes a synchronous request for the file specified in the RequestUri property and returns a FileWebResponse object that contains the response. È possibile eseguire una richiesta asincrona per il file usando i BeginGetResponse metodi EndGetResponse e.You can make an asynchronous request for the file using the BeginGetResponse and EndGetResponse methods.

Quando si desidera scrivere dati in un file, il GetRequestStream metodo restituisce un' Stream istanza in cui scrivere.When you want to write data to a file, the GetRequestStream method returns a Stream instance to write to. I BeginGetRequestStream metodi EndGetRequestStream e forniscono l'accesso asincrono al flusso di dati di scrittura.The BeginGetRequestStream and EndGetRequestStream methods provide asynchronous access to the write data stream.

La FileWebRequest classe si basa sulla classe File per la gestione degli errori e la sicurezza dall'accesso di codice.The FileWebRequest class relies on the File class for error handling and code access security.

Costruttori

FileWebRequest(SerializationInfo, StreamingContext) FileWebRequest(SerializationInfo, StreamingContext) FileWebRequest(SerializationInfo, StreamingContext) FileWebRequest(SerializationInfo, StreamingContext)

Inizializza una nuova istanza della classe FileWebRequest dalle istanze specificate delle classi SerializationInfo e StreamingContext.Initializes a new instance of the FileWebRequest class from the specified instances of the SerializationInfo and StreamingContext classes.

Proprietà

AuthenticationLevel AuthenticationLevel AuthenticationLevel AuthenticationLevel

Ottiene o imposta i valori che indicano il livello di autenticazione e di rappresentazione usati per la richiesta.Gets or sets values indicating the level of authentication and impersonation used for this request.

(Inherited from WebRequest)
CachePolicy CachePolicy CachePolicy CachePolicy

Ottiene o imposta i criteri della cache per la richiesta.Gets or sets the cache policy for this request.

(Inherited from WebRequest)
ConnectionGroupName ConnectionGroupName ConnectionGroupName ConnectionGroupName

Ottiene o imposta il nome del gruppo di connessione per la richiesta.Gets or sets the name of the connection group for the request. La proprietà viene riservata per un utilizzo futuro.This property is reserved for future use.

ContentLength ContentLength ContentLength ContentLength

Ottiene o imposta la lunghezza del contenuto dei dati inviati.Gets or sets the content length of the data being sent.

ContentType ContentType ContentType ContentType

Ottiene o imposta il tipo di contenuto dei dati inviati.Gets or sets the content type of the data being sent. La proprietà viene riservata per un utilizzo futuro.This property is reserved for future use.

CreatorInstance CreatorInstance CreatorInstance CreatorInstance

Quando ne viene eseguito l'override in una classe discendente, ottiene l'oggetto factory derivato dalla classe IWebRequestCreate usato per creare l'oggetto WebRequest di cui è stata creata un'istanza per effettuare la richiesta all'URI specificato.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.

(Inherited from WebRequest)
Credentials Credentials Credentials Credentials

Ottiene o imposta le credenziali associate a questa richiesta.Gets or sets the credentials that are associated with this request. La proprietà viene riservata per un utilizzo futuro.This property is reserved for future use.

Headers Headers Headers Headers

Ottiene un insieme delle coppie nome/valore associate alla richiesta.Gets a collection of the name/value pairs that are associated with the request. La proprietà viene riservata per un utilizzo futuro.This property is reserved for future use.

ImpersonationLevel ImpersonationLevel ImpersonationLevel ImpersonationLevel

Ottiene o imposta il livello di rappresentazione per la richiesta corrente.Gets or sets the impersonation level for the current request.

(Inherited from WebRequest)
Method Method Method Method

Ottiene o imposta il metodo di protocollo utilizzato per la richiesta.Gets or sets the protocol method used for the request. La proprietà viene riservata per un utilizzo futuro.This property is reserved for future use.

PreAuthenticate PreAuthenticate PreAuthenticate PreAuthenticate

Ottiene o imposta un valore che indica se preautenticare una richiesta.Gets or sets a value that indicates whether to preauthenticate a request. La proprietà viene riservata per un utilizzo futuro.This property is reserved for future use.

Proxy Proxy Proxy Proxy

Ottiene o imposta il proxy di rete da utilizzare per la richiesta.Gets or sets the network proxy to use for this request. La proprietà viene riservata per un utilizzo futuro.This property is reserved for future use.

RequestUri RequestUri RequestUri RequestUri

Ottiene l'URI (Uniform Resource Identifier) della richiesta.Gets the Uniform Resource Identifier (URI) of the request.

Timeout Timeout Timeout Timeout

Ottiene o imposta il periodo di tempo che intercorre prima che si verifichi il timeout della richiesta.Gets or sets the length of time until the request times out.

UseDefaultCredentials UseDefaultCredentials UseDefaultCredentials UseDefaultCredentials

Genera sempre un'eccezione NotSupportedException.Always throws a NotSupportedException.

Metodi

Abort() Abort() Abort() Abort()

Annulla una richiesta a una risorsa Internet.Cancels a request to an Internet resource.

BeginGetRequestStream(AsyncCallback, Object) BeginGetRequestStream(AsyncCallback, Object) BeginGetRequestStream(AsyncCallback, Object) BeginGetRequestStream(AsyncCallback, Object)

Avvia una richiesta asincrona per un oggetto Stream da utilizzare per la scrittura dei dati.Begins an asynchronous request for a Stream object to use to write data.

BeginGetResponse(AsyncCallback, Object) BeginGetResponse(AsyncCallback, Object) BeginGetResponse(AsyncCallback, Object) BeginGetResponse(AsyncCallback, Object)

Avvia una richiesta asincrona di una risorsa del file system.Begins an asynchronous request for a file system resource.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
EndGetRequestStream(IAsyncResult) EndGetRequestStream(IAsyncResult) EndGetRequestStream(IAsyncResult) EndGetRequestStream(IAsyncResult)

Termina una richiesta asincrona di un'istanza di Stream utilizzata dall'applicazione per la scrittura dei dati.Ends an asynchronous request for a Stream instance that the application uses to write data.

EndGetResponse(IAsyncResult) EndGetResponse(IAsyncResult) EndGetResponse(IAsyncResult) EndGetResponse(IAsyncResult)

Termina una richiesta asincrona di una risorsa del file system.Ends an asynchronous request for a file system resource.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Popola un oggetto SerializationInfo con i dati necessari per serializzare l'oggetto di destinazione.Populates a SerializationInfo with the data needed to serialize the target object.

GetRequestStream() GetRequestStream() GetRequestStream() GetRequestStream()

Restituisce un oggetto Stream per la scrittura di dati nella risorsa del file system.Returns a Stream object for writing data to the file system resource.

GetRequestStreamAsync() GetRequestStreamAsync() GetRequestStreamAsync() GetRequestStreamAsync()

Restituisce un flusso per la scrittura dei dati nella risorsa del file system come operazione asincrona.Returns a stream for writing data to the file system resource as an asynchronous operation.

GetResponse() GetResponse() GetResponse() GetResponse()

Restituisce una risposta a una richiesta del file system.Returns a response to a file system request.

GetResponseAsync() GetResponseAsync() GetResponseAsync() GetResponseAsync()

Restituisce una risposta a una richiesta del file system come operazione asincrona.Returns a response to a file system request as an asynchronous operation.

GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Compila un oggetto SerializationInfo con i dati richiesti per serializzare la classe FileWebRequest.Populates a SerializationInfo object with the required data to serialize the FileWebRequest.

Si applica a

Vedi anche