例として、私はのGetResponse()
機能を変更しようとしています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.
}
}
GetResponse()
しかし、どこにも標準コードが見つかりません。ゼロから書くことを期待されていますか?元のコードをコピーして貼り付けてから変更したいのですが。私はすでにここを見てみましたが、それはあまり役に立ちませんでした。
私が正しい方向に進んでいるかどうかをテストするために、コメントアウトして、そのまま(コンストラクターのみGetResponse()
を使用して)使用しようとしました。HttpWebRequest_Override
そしてそれを次のように使用します:
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; }
}
しかし、これはエラーをスローします:
Unable to cast object of type 'System.Net.HttpWebRequest' to type 'bulktest.HttpWebRequest_Override'.
したがって、2つの質問:
クラスが機能しないのはなぜですか。また、.NETクラスのコードをどこで見つけて、それらを変更できるのでしょうか。