【问题标题】:UrlEncode for Silverlight?Silverlight 的 UrlEncode?
【发布时间】:2012-01-25 00:55:58
【问题描述】:

UrlEncode 的 Silverlight 版本在哪里?我似乎找不到 HttpUtility 或类似的东西。

【问题讨论】:

    标签: silverlight


    【解决方案1】:

    1) Silverlight 3+ 上的 HttpUtility is supported。它虽然在 System.Windows.Browser 中,但不在缺少的 System.Web 命名空间中。但是目前 WP7 不支持它。

    2) 前面提到的 URL 编码的一个不受欢迎的选项是使用 Uri.EscapeUriString。请注意,对于某些特殊字符(例如空格和“+”号),Uri.EscapeUriString 的结果与 HttpUtility.UrlEncode 不同。所以它们在功能上并不等同。由于某些浏览器或网络服务器可能对这些更改很敏感,因此我温和地建议避免将 Uri.EscapeUriString 用于任何非专用用途(当您不拥有客户端服务器对话的两端时)。

    使用 Uri.EscapeUriString 还会增加意外使用 所有暴行之母的 Uri.UnescapeDataString 的风险。有关为什么会这样以及 HttpUtility 和 Uri 辅助方法之间的其他差异的更多详细信息,请参阅 ASP.Net 团队 2006 年的这篇文章:Don't use .NET System.Uri.UnescapeDataString in URL Decoding

    3) 我建议的解决方案以及我在 WP7 应用程序中成功使用的解决方案是从 Mono 复制 HttpUtility。这是基于 2 年前的Josh's suggestion,并且在编写顶级 WP7 应用程序方面为我提供了很好的帮助。

    【讨论】:

      【解决方案2】:

      改用Uri.EscapeUriString

      here 是 MSDN 文档

      【讨论】:

      • 现在我觉得自己很愚蠢。六年来,我一直在使用并抱怨另一个。
      • 另一个没问题,只要不是silverlight---没有system.web :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 2016-06-23
      • 2010-11-03
      • 2011-09-10
      • 2013-04-16
      • 2021-06-14
      • 1970-01-01
      相关资源
      最近更新 更多