FileWebRequest Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Tillhandahåller en filsystemimplementering av WebRequest klassen.
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
- Arv
- Attribut
- Implementeringar
Exempel
I följande kodexempel används FileWebRequest klassen för att komma åt en filsystemresurs.
// 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
Kommentarer
Klassen FileWebRequest implementerar basklassen WebRequestabstract för URI:er (Uniform Resource Identifiers) som använder schemat file:// för att begära lokala filer.
Använd inte FileWebRequest konstruktorn.
WebRequest.Create Använd metoden för att initiera nya instanser av FileWebRequest klassen. Om URI-schemat är file://Create returnerar metoden ett FileWebRequest objekt.
Metoden GetResponse gör en synkron begäran för filen som anges i RequestUri egenskapen och returnerar ett FileWebResponse objekt som innehåller svaret. Du kan göra en asynkron begäran för filen med hjälp av BeginGetResponse metoderna och EndGetResponse .
När du vill skriva data till en fil GetRequestStream returnerar metoden en Stream instans att skriva till. Metoderna BeginGetRequestStream och EndGetRequestStream ger asynkron åtkomst till skrivdataströmmen.
Klassen FileWebRequest förlitar sig på File klassen för felhantering och kodåtkomstsäkerhet.
Konstruktorer
| Name | Description |
|---|---|
| FileWebRequest(SerializationInfo, StreamingContext) |
Föråldrad.
Föråldrad.
Föråldrad.
Initierar en ny instans av FileWebRequest klassen från de angivna instanserna av SerializationInfo klasserna och StreamingContext . |
Egenskaper
| Name | Description |
|---|---|
| AuthenticationLevel |
Hämtar eller anger värden som anger vilken nivå av autentisering och personifiering som används för den här begäran. (Ärvd från WebRequest) |
| CachePolicy |
Hämtar eller anger cacheprincipen för den här begäran. (Ärvd från WebRequest) |
| ConnectionGroupName |
Hämtar eller anger namnet på anslutningsgruppen för begäran. Den här egenskapen är reserverad för framtida användning. |
| ContentLength |
Hämtar eller anger innehållslängden för de data som skickas. |
| ContentType |
Hämtar eller anger innehållstypen för de data som skickas. Den här egenskapen är reserverad för framtida användning. |
| CreatorInstance |
Föråldrad.
När det åsidosättas i en underordnad klass hämtar det fabriksobjekt som härleds från klassen IWebRequestCreate som används för att skapa instansierad WebRequest för att göra begäran till den angivna URI:n. (Ärvd från WebRequest) |
| Credentials |
Hämtar eller anger de autentiseringsuppgifter som är associerade med den här begäran. Den här egenskapen är reserverad för framtida användning. |
| Headers |
Hämtar en samling namn/värde-par som är associerade med begäran. Den här egenskapen är reserverad för framtida användning. |
| ImpersonationLevel |
Hämtar eller anger personifieringsnivån för den aktuella begäran. (Ärvd från WebRequest) |
| Method |
Hämtar eller anger den protokollmetod som används för begäran. Den här egenskapen är reserverad för framtida användning. |
| PreAuthenticate |
Hämtar eller anger ett värde som anger om en begäran ska förautentiseras. Den här egenskapen är reserverad för framtida användning. |
| Proxy |
Hämtar eller anger den nätverksproxy som ska användas för den här begäran. Den här egenskapen är reserverad för framtida användning. |
| RequestUri |
Hämtar begärans enhetliga resursidentifierare (URI). |
| Timeout |
Hämtar eller anger hur lång tid det tar tills begäran överskrider tidsgränsen. |
| UseDefaultCredentials |
Kastar alltid en NotSupportedException. |
Metoder
| Name | Description |
|---|---|
| Abort() |
Avbryter en begäran till en Internetresurs. |
| Abort() |
Avbryter begäran. (Ärvd från WebRequest) |
| BeginGetRequestStream(AsyncCallback, Object) |
Påbörjar en asynkron begäran om ett Stream objekt som ska användas för att skriva data. |
| BeginGetResponse(AsyncCallback, Object) |
Påbörjar en asynkron begäran för en filsystemresurs. |
| CreateObjRef(Type) |
Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt. (Ärvd från MarshalByRefObject) |
| EndGetRequestStream(IAsyncResult) |
Avslutar en asynkron begäran för en Stream instans som programmet använder för att skriva data. |
| EndGetResponse(IAsyncResult) |
Avslutar en asynkron begäran för en filsystemresurs. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetLifetimeService() |
Föråldrad.
Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| GetObjectData(SerializationInfo, StreamingContext) |
Föråldrad.
Fyller i en SerializationInfo med de data som behövs för att serialisera målobjektet. |
| GetRequestStream() |
Returnerar ett Stream objekt för att skriva data till filsystemresursen. |
| GetRequestStreamAsync() |
Returnerar en dataström för att skriva data till filsystemresursen som en asynkron åtgärd. |
| GetRequestStreamAsync() |
När den åsidosättas i en underordnad klass returnerar en Stream för att skriva data till Internetresursen som en asynkron åtgärd. (Ärvd från WebRequest) |
| GetResponse() |
Returnerar ett svar på en filsystembegäran. |
| GetResponseAsync() |
Returnerar ett svar på en filsystembegäran som en asynkron åtgärd. |
| GetResponseAsync() |
När det åsidosättas i en underordnade klass returnerar ett svar på en Internetbegäran som en asynkron åtgärd. (Ärvd från WebRequest) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| InitializeLifetimeService() |
Föråldrad.
Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| MemberwiseClone(Boolean) |
Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet. (Ärvd från MarshalByRefObject) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Föråldrad.
Fyller i ett SerializationInfo objekt med nödvändiga data för att serialisera FileWebRequest. |