C# HttpWebRequest和Response

C# HttpWebRequest和Response,c#,C#,我正在为HttpRequest和Response编写一个c#程序,如下所示 public string Methods(int id) { HttpWebRequest Request = (HttpWebRequest) WebRequest.Create(@"http://172.17.18.16:8082/item/detail/90"); Request.Method = "Get"; WebResponse Response = Request.GetResp

我正在为
HttpRequest
Response
编写一个c#程序,如下所示

public string Methods(int id)
{
    HttpWebRequest Request = (HttpWebRequest) WebRequest.Create(@"http://172.17.18.16:8082/item/detail/90");

    Request.Method = "Get";
    WebResponse Response = Request.GetResponse();

    IHttpRequest request = (IHttpRequest)Request;
    IHttpResponse response = (IHttpResponse)Response;

    SetupRequest(request, response, session);
    //Request.Method = Method.Get;
    string m = request.Method;
    TemplateManager mg=new TemplateManager();
    ItemController it = new ItemController(mg);
    it.Detail();
    return m;
}
这里
IHttpRequest
IHttpResponse
是已经创建的接口。 我想将
HttpWebRequest请求
分配给接口,以便剩下的功能可以自行实现。我在将线条转换为

无法将类型为“System.Net.HttpWebRequest”的对象强制转换为类型为“HttpServer.ihttpprequest”

请帮我找到解决办法


谢谢

这些行不通:

IHttpRequest request = (IHttpRequest)Request;
IHttpResponse response = (IHttpResponse)Response;
因为它们都没有实现接口
IHttpRequest
IHttpResponse
。为了让一个内置类实现您自己的接口,您必须对其进行扩展(从中派生一个新类),我不清楚您为什么要尝试使用这两个类来实现它,但通常,如果您想更改它们的实现方式,您只会将它们作为接口传递;i、 e.如果您想为
HttpWebRequest
编写替换,或者如果您正在使用依赖项注入容器(即使这样也不需要接口才能工作)


在这里查看他们的在线文档:&

不知道您所说的剩余功能应该自行实现。您所说的
IHttpRequest
IHttpResponse
是什么意思?在HttpRequest类中,所有代码都已编写完成,可以执行任何任务。我正在创建一个新的窗口ui并传递url。因此,此url将传递给IHttpRequest,并执行他们编写的任何任务,如果我正确理解您的话创建了一个您希望System.Net.HttpWebRequest实现的接口,这很难实现。但也许你可以发布界面?您的解决方案可能是创建一个适配器,该适配器实现您的接口,并使用组合重定向到收到的HttpWebResponse。