FileWebRequest Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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. |