FileWebRequest Classe

Definição

Fornece uma implementação do sistema de ficheiros da WebRequest classe.

public ref class FileWebRequest : System::Net::WebRequest, System::Runtime::Serialization::ISerializable
public ref class FileWebRequest : System::Net::WebRequest
[System.Serializable]
public class FileWebRequest : System.Net.WebRequest, System.Runtime.Serialization.ISerializable
public class FileWebRequest : System.Net.WebRequest
[<System.Serializable>]
type FileWebRequest = class
    inherit WebRequest
    interface ISerializable
type FileWebRequest = class
    inherit WebRequest
    interface ISerializable
Public Class FileWebRequest
Inherits WebRequest
Implements ISerializable
Public Class FileWebRequest
Inherits WebRequest
Herança
Atributos
Implementações

Exemplos

O seguinte exemplo de código utiliza a FileWebRequest classe para aceder a um recurso do sistema de ficheiros.

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

Observações

A FileWebRequest classe implementa a WebRequestabstract classe base para Identificadores Uniformes de Recursos (URIs) que utilizam o file:// esquema para solicitar ficheiros locais.

Não use o FileWebRequest construtor. Use o WebRequest.Create método para inicializar novas instâncias da FileWebRequest classe. Se o esquema URI for file://, o Create método devolve um FileWebRequest objeto.

O GetResponse método faz um pedido síncrono para o ficheiro especificado na RequestUri propriedade e devolve um FileWebResponse objeto que contém a resposta. Pode fazer um pedido assíncrono para o ficheiro usando os BeginGetResponse métodos e.EndGetResponse

Quando queres escrever dados num ficheiro, o GetRequestStream método devolve uma Stream instância para escrever. Os BeginGetRequestStream métodos and EndGetRequestStream fornecem acesso assíncrono ao fluxo de dados de escrita.

A FileWebRequest classe depende da File classe para o tratamento de erros e segurança de acesso ao código.

Construtores

Name Description
FileWebRequest(SerializationInfo, StreamingContext)
Obsoleto.
Obsoleto.

Inicializa uma nova instância da FileWebRequest classe a partir das instâncias especificadas das SerializationInfo classes e StreamingContext .

Propriedades

Name Description
AuthenticationLevel

Obtém ou define valores que indicam o nível de autenticação e personificação usado para este pedido.

(Herdado de WebRequest)
CachePolicy

Recebe ou define a política de cache para este pedido.

(Herdado de WebRequest)
ConnectionGroupName

Obtém ou define o nome do grupo de ligação para o pedido. Esta propriedade está reservada para uso futuro.

ContentLength

Obtém ou define o comprimento do conteúdo dos dados enviados.

ContentType

Obtém ou define o tipo de conteúdo dos dados enviados. Esta propriedade está reservada para uso futuro.

CreatorInstance
Obsoleto.

Quando sobrescrito numa classe descendente, obtém o objeto de fábrica derivado da IWebRequestCreate classe usada para criar a WebRequest instanciada para fazer o pedido ao URI especificado.

(Herdado de WebRequest)
Credentials

Obtém ou define as credenciais associadas a este pedido. Esta propriedade está reservada para uso futuro.

Headers

Obtém uma coleção dos pares nome/valor associados ao pedido. Esta propriedade está reservada para uso futuro.

ImpersonationLevel

Obtém ou define o nível de personificação para o pedido atual.

(Herdado de WebRequest)
Method

Obtém ou define o método de protocolo usado para o pedido. Esta propriedade está reservada para uso futuro.

PreAuthenticate

Recebe ou define um valor que indica se deve pré-autenticar um pedido. Esta propriedade está reservada para uso futuro.

Proxy

Obtém ou define o proxy de rede para usar neste pedido. Esta propriedade está reservada para uso futuro.

RequestUri

Obtém o Identificador Uniforme de Recursos (URI) do pedido.

Timeout

Obtém ou define o tempo até ao prazo do pedido.

UseDefaultCredentials

Lança sempre um NotSupportedException.

Métodos

Name Description
Abort()

Cancela um pedido a um recurso da Internet.

Abort()

Aborta o pedido.

(Herdado de WebRequest)
BeginGetRequestStream(AsyncCallback, Object)

Inicia um pedido assíncrono para que um Stream objeto seja usado para escrever dados.

BeginGetResponse(AsyncCallback, Object)

Inicia um pedido assíncrono para um recurso do sistema de ficheiros.

CreateObjRef(Type)

Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

Termina um pedido assíncrono para uma Stream instância que a aplicação usa para escrever dados.

EndGetResponse(IAsyncResult)

Termina um pedido assíncrono para um recurso do sistema de ficheiros.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso.

(Herdado de MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Preenche a SerializationInfo com os dados necessários para serializar o objeto alvo.

GetRequestStream()

Devolve um Stream objeto para escrever dados no recurso do sistema de ficheiros.

GetRequestStreamAsync()

Devolve um fluxo para a escrita de dados no recurso do sistema de ficheiros como uma operação assíncrona.

GetRequestStreamAsync()

Quando sobreposto numa classe descendente, devolve a Stream para escrever dados no recurso da Internet como uma operação assíncrona.

(Herdado de WebRequest)
GetResponse()

Devolve uma resposta a um pedido do sistema de ficheiros.

GetResponseAsync()

Devolve uma resposta a um pedido do sistema de ficheiros como uma operação assíncrona.

GetResponseAsync()

Quando sobreposto numa classe descendente, devolve uma resposta a um pedido da Internet como uma operação assíncrona.

(Herdado de WebRequest)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()

Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(Herdado de MarshalByRefObject)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

Name Description
ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Preenche um SerializationInfo objeto com os dados necessários para serializar o FileWebRequest.

Aplica-se a

Ver também