Als Beispiel versuche ich, die GetResponse()
Funktion von HttpWebRequest
class HttpWebRequest_Override : HttpWebRequest
{
public HttpWebRequest_Override(System.Runtime.Serialization.SerializationInfo SerializationInfo, System.Runtime.Serialization.StreamingContext StreamingContext)
: base(SerializationInfo, StreamingContext) { }
public override WebResponse GetResponse()
{
//Edit GetResponse() code here.
}
}
Ich kann jedoch den Standardcode für GetResponse()
überall. Wird von mir erwartet, dass ich eine von Grund auf neu schreibe? Ich würde gerne den ursprünglichen Code kopieren und einfügen und ihn dann ändern. Ich habe bereits versucht zu suchen aquí aber das hat nicht viel geholfen.
Um zu testen, ob ich überhaupt auf dem richtigen Weg bin, habe ich Folgendes auskommentiert GetResponse()
und versucht, die HttpWebRequest_Override
so wie sie ist (nur mit dem Konstruktor).
Und es dann so zu benutzen:
public static string DownloadText(string url)
{
try
{
var request = (HttpWebRequest_Override)WebRequest.Create(url);
request.Proxy = null;
var response = (HttpWebResponse)request.GetResponse();
using (var reader = new StreamReader(response.GetResponseStream()))
{
return reader.ReadToEnd();
}
}
catch (Exception ex) { return "error_program : "+ex.Message; }
}
Dies führt jedoch zu einer Fehlermeldung:
Unable to cast object of type 'System.Net.HttpWebRequest' to type 'bulktest.HttpWebRequest_Override'.
Also zwei Fragen:
Warum funktioniert die Klasse nicht, und wo kann ich den Code für .NET-Klassen finden, damit ich sie ändern kann?