C# 注册URL前缀

C# 注册URL前缀,c#,webrequest,.net-4.5,C#,Webrequest,.net 4.5,我有这个网址: “数据:image/png;base64,…” 如果我在Chrome上打开它,我会收到一个图像,但我不知道如何使用WebRequest配置前缀“data” WebRequest.RegisterPrefix("data", new CustomWebRequestCreator()); 我必须基于“IWebRequestCreate”构建一个自定义创建者,但我不知道我必须在那里实现什么 public class CustomWebRequestCreator: IWebRequ

我有这个网址:

“数据:image/png;base64,…”

如果我在Chrome上打开它,我会收到一个图像,但我不知道如何使用WebRequest配置前缀“data”

WebRequest.RegisterPrefix("data", new CustomWebRequestCreator());
我必须基于“IWebRequestCreate”构建一个自定义创建者,但我不知道我必须在那里实现什么

public class CustomWebRequestCreator: IWebRequestCreate
{
    public WebRequest Create(Uri uri)
    {
        HttpWebRequest webRequest = Activator.CreateInstance(typeof(HttpWebRequest),
                                    BindingFlags.CreateInstance | BindingFlags.Public |
                                    BindingFlags.NonPublic | BindingFlags.Instance,
                                    null, new object[] { uri, null }, null) as HttpWebRequest;

        webRequest.UserAgent = "OMG IT WORKED!";
        return webRequest;
    }
}
在尝试发出get请求时,我总是得到“无法解析远程名称”:

WebRequest.RegisterPrefix("data", new CustomWebRequestCreator());
WebRequest request = WebRequest.Create("data:image/png;base64,.....");
request.Credentials = CredentialCache.DefaultCredentials;
WebResponse response = request.GetResponse(); <-- EXCEPTION
WebRequest.RegisterPrefix(“数据”,新CustomWebRequestCreator());
WebRequest=WebRequest.Create(“数据:image/png;base64,…);
request.Credentials=CredentialCache.DefaultCredentials;

WebResponse=request.GetResponse();你能解释一下你希望这个电话做什么吗?通常情况下,只需直接从内联数据中获取字节,而无需任何其他请求。。。(假设您正在谈论)。我希望此调用实际返回位图图像。谢谢你的帮助@AlexeiLevenkovI明白了-我想你已经阅读了整篇文章集。。。您绝对不应该使用HttpWebRequest,因为url中本地存在数据。可能也有现成的样品,这是我的错。。我只是不知道如何实现CustomWebRequestCreator@AlexeiLevenkov=)