FileWebRequest Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece uma implementação do sistema de arquivos da WebRequest classe.
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
- Herança
- Atributos
- Implementações
Exemplos
O exemplo de código a seguir usa a FileWebRequest classe para acessar um recurso do sistema de arquivos.
// 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
Comentários
A FileWebRequest classe implementa a WebRequestabstract classe base para URIs (Uniform Resource Identifiers) que usam o file:// esquema para solicitar arquivos locais.
Não use o FileWebRequest construtor. Use o WebRequest.Create método para inicializar novas instâncias da FileWebRequest classe. Se o esquema de URI for file://, o Create método retornará um FileWebRequest objeto.
O GetResponse método faz uma solicitação síncrona para o arquivo especificado na RequestUri propriedade e retorna um FileWebResponse objeto que contém a resposta. Você pode fazer uma solicitação assíncrona para o arquivo usando os métodos e EndGetResponse os BeginGetResponse métodos.
Quando você deseja gravar dados em um arquivo, o GetRequestStream método retorna uma Stream instância para gravar. Os BeginGetRequestStream métodos e os EndGetRequestStream métodos fornecem acesso assíncrono ao fluxo de dados de gravação.
A FileWebRequest classe depende da File classe para tratamento de erros e segurança de acesso de código.
Construtores
| Nome | Description |
|---|---|
| FileWebRequest(SerializationInfo, StreamingContext) |
Obsoleto.
Obsoleto.
Obsoleto.
Inicializa uma nova instância da classe das FileWebRequest instâncias e StreamingContext classes SerializationInfo especificadas. |
Propriedades
| Nome | Description |
|---|---|
| AuthenticationLevel |
Obtém ou define valores que indicam o nível de autenticação e representação usados para essa solicitação. (Herdado de WebRequest) |
| CachePolicy |
Obtém ou define a política de cache para essa solicitação. (Herdado de WebRequest) |
| ConnectionGroupName |
Obtém ou define o nome do grupo de conexões para a solicitação. Essa propriedade é reservada para uso futuro. |
| ContentLength |
Obtém ou define o comprimento do conteúdo dos dados que estão sendo enviados. |
| ContentType |
Obtém ou define o tipo de conteúdo dos dados que estão sendo enviados. Essa propriedade é reservada para uso futuro. |
| CreatorInstance |
Obsoleto.
Quando substituído em uma classe descendente, obtém o objeto de fábrica derivado da IWebRequestCreate classe usada para criar a WebRequest instância para fazer a solicitação para o URI especificado. (Herdado de WebRequest) |
| Credentials |
Obtém ou define as credenciais associadas a essa solicitação. Essa propriedade é reservada para uso futuro. |
| Headers |
Obtém uma coleção dos pares nome/valor associados à solicitação. Essa propriedade é reservada para uso futuro. |
| ImpersonationLevel |
Obtém ou define o nível de representação da solicitação atual. (Herdado de WebRequest) |
| Method |
Obtém ou define o método de protocolo usado para a solicitação. Essa propriedade é reservada para uso futuro. |
| PreAuthenticate |
Obtém ou define um valor que indica se uma solicitação deve ser pré-autenticada. Essa propriedade é reservada para uso futuro. |
| Proxy |
Obtém ou define o proxy de rede a ser usado para essa solicitação. Essa propriedade é reservada para uso futuro. |
| RequestUri |
Obtém o URI (Uniform Resource Identifier) da solicitação. |
| Timeout |
Obtém ou define o período de tempo até que a solicitação chegue ao fim. |
| UseDefaultCredentials |
Sempre lança um NotSupportedException. |
Métodos
| Nome | Description |
|---|---|
| Abort() |
Cancela uma solicitação para um recurso da Internet. |
| Abort() |
Anula a solicitação. (Herdado de WebRequest) |
| BeginGetRequestStream(AsyncCallback, Object) |
Inicia uma solicitação assíncrona para um Stream objeto a ser usado para gravar dados. |
| BeginGetResponse(AsyncCallback, Object) |
Inicia uma solicitação assíncrona para um recurso do sistema de arquivos. |
| CreateObjRef(Type) |
Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
| EndGetRequestStream(IAsyncResult) |
Encerra uma solicitação assíncrona para uma Stream instância que o aplicativo usa para gravar dados. |
| EndGetResponse(IAsyncResult) |
Encerra uma solicitação assíncrona para um recurso do sistema de arquivos. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetLifetimeService() |
Obsoleto.
Recupera o objeto de serviço de tempo de vida atual que controla a política de tempo de vida para essa instância. (Herdado de MarshalByRefObject) |
| GetObjectData(SerializationInfo, StreamingContext) |
Obsoleto.
Popula um SerializationInfo com os dados necessários para serializar o objeto de destino. |
| GetRequestStream() |
Retorna um Stream objeto para gravar dados no recurso do sistema de arquivos. |
| GetRequestStreamAsync() |
Retorna um fluxo para gravar dados no recurso do sistema de arquivos como uma operação assíncrona. |
| GetRequestStreamAsync() |
Quando substituído em uma classe descendente, retorna um Stream para gravar dados no recurso da Internet como uma operação assíncrona. (Herdado de WebRequest) |
| GetResponse() |
Retorna uma resposta a uma solicitação do sistema de arquivos. |
| GetResponseAsync() |
Retorna uma resposta a uma solicitação do sistema de arquivos como uma operação assíncrona. |
| GetResponseAsync() |
Quando substituído em uma classe descendente, retorna uma resposta a uma solicitação da Internet como uma operação assíncrona. (Herdado de WebRequest) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| InitializeLifetimeService() |
Obsoleto.
Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida dessa instância. (Herdado de MarshalByRefObject) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto atual MarshalByRefObject . (Herdado de MarshalByRefObject) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Obsoleto.
Popula um SerializationInfo objeto com os dados necessários para serializar o FileWebRequest. |