FileWebRequest Klas

Definitie

Biedt een bestandssysteem-implementatie van de WebRequest klasse.

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
Overname
Kenmerken
Implementeringen

Voorbeelden

In het volgende codevoorbeeld wordt de FileWebRequest klasse gebruikt voor toegang tot een bestandssysteemresource.

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

Opmerkingen

De FileWebRequest klasse implementeert de WebRequestabstract basisklasse voor Uniform Resource Identifiers (URI's) die gebruikmaken van het file:// schema om lokale bestanden aan te vragen.

Gebruik de FileWebRequest constructor niet. Gebruik de WebRequest.Create methode om nieuwe exemplaren van de FileWebRequest klasse te initialiseren. Als het URI-schema is file://, retourneert de Create methode een FileWebRequest object.

De GetResponse methode maakt een synchrone aanvraag voor het bestand dat is opgegeven in de RequestUri eigenschap en retourneert een FileWebResponse object dat het antwoord bevat. U kunt een asynchrone aanvraag voor het bestand indienen met behulp van de BeginGetResponse en EndGetResponse methoden.

Wanneer u gegevens naar een bestand wilt schrijven, retourneert de GetRequestStream methode een Stream exemplaar waarnaar moet worden geschreven. De BeginGetRequestStream en EndGetRequestStream methoden bieden asynchrone toegang tot de gegevensstroom voor schrijven.

De FileWebRequest klasse is afhankelijk van de File klasse voor foutafhandeling en beveiliging van codetoegang.

Constructors

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

Initialiseert een nieuw exemplaar van de FileWebRequest klasse op basis van de opgegeven exemplaren van de SerializationInfo en StreamingContext klassen.

Eigenschappen

Name Description
AuthenticationLevel

Hiermee worden waarden opgehaald of ingesteld die het verificatieniveau en imitatie aangeven dat voor deze aanvraag wordt gebruikt.

(Overgenomen van WebRequest)
CachePolicy

Hiermee haalt u het cachebeleid voor deze aanvraag op of stelt u dit in.

(Overgenomen van WebRequest)
ConnectionGroupName

Hiermee haalt u de naam van de verbindingsgroep voor de aanvraag op of stelt u deze in. Deze eigenschap is gereserveerd voor toekomstig gebruik.

ContentLength

Hiermee wordt de inhoudslengte van de verzonden gegevens opgehaald of ingesteld.

ContentType

Hiermee wordt het inhoudstype opgehaald of ingesteld van de gegevens die worden verzonden. Deze eigenschap is gereserveerd voor toekomstig gebruik.

CreatorInstance
Verouderd.

Wanneer dit wordt overschreven in een onderliggende klasse, wordt het fabrieksobject afgeleid van de IWebRequestCreate klasse die wordt gebruikt om de WebRequest geïnstantieerde instantie te maken voor het indienen van de aanvraag bij de opgegeven URI.

(Overgenomen van WebRequest)
Credentials

Hiermee haalt u de referenties op die aan deze aanvraag zijn gekoppeld of stelt u deze in. Deze eigenschap is gereserveerd voor toekomstig gebruik.

Headers

Hiermee haalt u een verzameling op van de naam-/waardeparen die aan de aanvraag zijn gekoppeld. Deze eigenschap is gereserveerd voor toekomstig gebruik.

ImpersonationLevel

Hiermee haalt u het imitatieniveau voor de huidige aanvraag op of stelt u dit in.

(Overgenomen van WebRequest)
Method

Hiermee haalt u de protocolmethode op die wordt gebruikt voor de aanvraag of stelt u deze in. Deze eigenschap is gereserveerd voor toekomstig gebruik.

PreAuthenticate

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of een aanvraag vooraf moet worden geverifieerd. Deze eigenschap is gereserveerd voor toekomstig gebruik.

Proxy

Hiermee haalt u de netwerkproxy op die voor deze aanvraag moet worden gebruikt. Deze eigenschap is gereserveerd voor toekomstig gebruik.

RequestUri

Hiermee haalt u de URI (Uniform Resource Identifier) van de aanvraag op.

Timeout

Hiermee wordt de tijdsduur opgehaald of ingesteld totdat er een time-out optreedt voor de aanvraag.

UseDefaultCredentials

Gooit altijd een NotSupportedException.

Methoden

Name Description
Abort()

Hiermee annuleert u een aanvraag voor een internetresource.

Abort()

Hiermee wordt de aanvraag afgebroken.

(Overgenomen van WebRequest)
BeginGetRequestStream(AsyncCallback, Object)

Hiermee wordt een asynchrone aanvraag gestart voor een Stream object dat moet worden gebruikt om gegevens te schrijven.

BeginGetResponse(AsyncCallback, Object)

Begint een asynchrone aanvraag voor een bestandssysteemresource.

CreateObjRef(Type)

Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object.

(Overgenomen van MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

Hiermee beëindigt u een asynchrone aanvraag voor een Stream exemplaar dat door de toepassing wordt gebruikt om gegevens te schrijven.

EndGetResponse(IAsyncResult)

Hiermee wordt een asynchrone aanvraag voor een bestandssysteemresource beëindigd.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetLifetimeService()

Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd.

(Overgenomen van MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Vult een SerializationInfo met de gegevens die nodig zijn om het doelobject te serialiseren.

GetRequestStream()

Retourneert een Stream object voor het schrijven van gegevens naar de bestandssysteemresource.

GetRequestStreamAsync()

Hiermee wordt een stroom geretourneerd voor het schrijven van gegevens naar de bestandssysteemresource als een asynchrone bewerking.

GetRequestStreamAsync()

Wanneer deze wordt overschreven in een onderliggende klasse, retourneert u een Stream voor het schrijven van gegevens naar de internetresource als asynchrone bewerking.

(Overgenomen van WebRequest)
GetResponse()

Retourneert een reactie op een bestandssysteemaanvraag.

GetResponseAsync()

Retourneert een reactie op een bestandssysteemaanvraag als asynchrone bewerking.

GetResponseAsync()

Wanneer deze wordt overschreven in een onderliggende klasse, retourneert u een reactie op een internetaanvraag als asynchrone bewerking.

(Overgenomen van WebRequest)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
InitializeLifetimeService()

Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren.

(Overgenomen van MarshalByRefObject)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
MemberwiseClone(Boolean)

Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object.

(Overgenomen van MarshalByRefObject)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

Name Description
ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Hiermee wordt een SerializationInfo object gevuld met de vereiste gegevens om de FileWebRequest.

Van toepassing op

Zie ook