【问题标题】:WebRequest.Create throws "Value cannot be null. Parameter name: str" exceptionWebRequest.Create 抛出“值不能为空。参数名称:str”异常
【发布时间】:2010-12-02 15:03:24
【问题描述】:

我使用构造函数围绕 HttpWebRequest 编写了一个包装器:

    public MyHttpRequest(string requestUrl)
    {
        this.webRequest = (HttpWebRequest)WebRequest.Create(requestUrl);
    }

当我传递一个在 IE 中有效的 url 时:

http://www.google.co.il/search?q=%D7%A9%D7%9E%D7%A8+%D7%97%D7%A1%D7%95%D7%9F&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a

我明白了

System.ArgumentNullException 发生 Message="值不能为空。\r\n参数名称:str" 来源="mscorlib" 参数名称="str" 堆栈跟踪: 在 System.Security.Permissions.FileIOPermission.HasIllegalCharacters(String[] str) 在 System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess 访问,AccessControlActions 控件,String[] pathListOrig,布尔 checkForDuplicates,布尔 needFullPath,布尔 copyPathList) 在 System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess 访问,字符串路径) 在 System.Uri.ParseConfigFile(字符串文件,IdnScopeFromConfig& idnStateConfig,IriParsingFromConfig& iriParsingConfig) 在 System.Uri.GetConfig(UriIdnScope& idnScope,布尔值& iriParsing) 在 System.Uri.InitializeUriConfig() 在 System.Uri.InitializeUri(ParsingError 错误,UriKind uriKind,UriFormatException& e) 在 System.Uri.CreateThis(字符串 uri,布尔值 dontEscape,UriKind uriKind) 在 System.Uri..ctor(字符串 uriString) 在 System.Net.WebRequest.Create(String requestUriString)

这是为什么呢?我该如何解决?

【问题讨论】:

  • 这发生在哪个版本的 .NET Framework 上?我用 v3.5 尝试过,它没有给我例外。
  • 这看起来像一个错误。您可以在 Microsoft NCL 支持组 (social.msdn.microsoft.com/forums/en-us/ncl) 上发布此问题
  • .NET 3.5 我将帖子提交给 MS NCL

标签: .net exception httpwebrequest


【解决方案1】:

取消转义网址,然后重试。

【讨论】:

猜你喜欢
  • 2019-12-15
  • 1970-01-01
  • 1970-01-01
  • 2019-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多