FileWebRequest Třída

Definice

Poskytuje implementaci WebRequest systému souborů třídy .

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
Dědičnost
Atributy
Implementuje

Příklady

Následující příklad kódu používá FileWebRequest třídu pro přístup k prostředku systému souborů.

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

Poznámky

Třída FileWebRequest implementuje WebRequestabstract základní třídu pro identifikátory URI (Uniform Resource Identifier), které používají file:// schéma k vyžádání místních souborů.

Nepoužívejte FileWebRequest konstruktor. WebRequest.Create K inicializaci nových instancí třídy použijte metodu FileWebRequest . Pokud je file://schéma identifikátoru URI , Create vrátí FileWebRequest metoda objekt .

Metoda GetResponse provede synchronní požadavek na soubor zadaný ve RequestUri vlastnosti a vrátí FileWebResponse objekt, který obsahuje odpověď. Asynchronní požadavek na soubor můžete vytvořit pomocí BeginGetResponse metod a EndGetResponse .

Když chcete zapisovat data do souboru, vrátí Stream metoda instanci, GetRequestStream do které chcete zapisovat. Metody BeginGetRequestStream a EndGetRequestStream poskytují asynchronní přístup k datovému streamu zápisu.

Třída FileWebRequest spoléhá na File třídu pro zpracování chyb a zabezpečení přístupu kódu.

Konstruktory

FileWebRequest(SerializationInfo, StreamingContext)
Zastaralé.
Zastaralé.
Zastaralé.

Inicializuje novou instanci FileWebRequest třídy ze zadaných SerializationInfo instancí tříd a StreamingContext .

Vlastnosti

AuthenticationLevel

Získá nebo nastaví hodnoty označující úroveň ověřování a zosobnění použité pro tento požadavek.

(Zděděno od WebRequest)
CachePolicy

Získá nebo nastaví zásady mezipaměti pro tento požadavek.

(Zděděno od WebRequest)
ConnectionGroupName

Získá nebo nastaví název skupiny připojení pro požadavek. Tato vlastnost je vyhrazena pro budoucí použití.

ContentLength

Získá nebo nastaví délku obsahu odesílaných dat.

ContentType

Získá nebo nastaví typ obsahu odesílaných dat. Tato vlastnost je vyhrazena pro budoucí použití.

CreatorInstance
Zastaralé.

Při přepsání v odvozené třídě získá objekt továrny odvozený z IWebRequestCreate třídy použité k vytvoření WebRequest instance pro provedení požadavku na zadaný identifikátor URI.

(Zděděno od WebRequest)
Credentials

Získá nebo nastaví přihlašovací údaje, které jsou přidruženy k tomuto požadavku. Tato vlastnost je vyhrazena pro budoucí použití.

Headers

Získá kolekci párů název/hodnota, které jsou přidruženy k požadavku. Tato vlastnost je vyhrazena pro budoucí použití.

ImpersonationLevel

Získá nebo nastaví úroveň zosobnění pro aktuální požadavek.

(Zděděno od WebRequest)
Method

Získá nebo nastaví metodu protokolu použitou pro požadavek. Tato vlastnost je vyhrazena pro budoucí použití.

PreAuthenticate

Získá nebo nastaví hodnotu, která označuje, zda předběžné ověření požadavku. Tato vlastnost je vyhrazena pro budoucí použití.

Proxy

Získá nebo nastaví síťový proxy server pro použití pro tento požadavek. Tato vlastnost je vyhrazena pro budoucí použití.

RequestUri

Získá identifikátor URI (Uniform Resource Identifier) požadavku.

Timeout

Získá nebo nastaví dobu do vypršení časového limitu požadavku.

UseDefaultCredentials

Vždy vyhodí NotSupportedException.

UseDefaultCredentials

Při přepsání v odvozené třídě získá nebo nastaví Boolean hodnotu, která určuje, zda DefaultCredentials jsou odeslány s požadavky.

(Zděděno od WebRequest)

Metody

Abort()

Zruší požadavek na internetový prostředek.

Abort()

Přeruší požadavek.

(Zděděno od WebRequest)
BeginGetRequestStream(AsyncCallback, Object)

Začne asynchronní požadavek na objekt, který Stream se má použít k zápisu dat.

BeginGetResponse(AsyncCallback, Object)

Zahájí asynchronní požadavek na prostředek systému souborů.

CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy sloužící ke komunikaci se vzdáleným objektem.

(Zděděno od MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

Ukončí asynchronní požadavek na Stream instanci, kterou aplikace používá k zápisu dat.

EndGetResponse(IAsyncResult)

Ukončí asynchronní požadavek na prostředek systému souborů.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetLifetimeService()
Zastaralé.

Načte aktuální životnost objektu služby, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)
Zastaralé.

Naplní SerializationInfo objekt daty potřebnými k serializaci cílového objektu.

GetObjectData(SerializationInfo, StreamingContext)
Zastaralé.

Naplní SerializationInfo objekt daty potřebnými k serializaci cílového objektu.

(Zděděno od WebRequest)
GetRequestStream()

Stream Vrátí objekt pro zápis dat do prostředku systému souborů.

GetRequestStreamAsync()

Vrátí datový proud pro zápis dat do prostředku systému souborů jako asynchronní operace.

GetRequestStreamAsync()

Při přepsání v odvozené třídě vrátí hodnotu Stream pro zápis dat do internetového prostředku jako asynchronní operaci.

(Zděděno od WebRequest)
GetResponse()

Vrátí odpověď na požadavek systému souborů.

GetResponseAsync()

Vrátí odpověď na požadavek systému souborů jako asynchronní operaci.

GetResponseAsync()

Při přepsání v odvozené třídě vrátí odpověď na požadavek internetu jako asynchronní operaci.

(Zděděno od WebRequest)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
InitializeLifetimeService()
Zastaralé.

Získá životnost objektu služby, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu.

(Zděděno od MarshalByRefObject)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

ISerializable.GetObjectData(SerializationInfo, StreamingContext)
Zastaralé.

Naplní SerializationInfo objekt požadovanými daty k serializaci objektu FileWebRequest.

Platí pro

Viz také