web-dev-qa-db-ja.com

Windows Phone 7のHttpUtility.UrlEncode?

通常の.NetフレームワークにはSystem.WebAssemblyにHttpUtility.UrlEncodeが含まれており、SilverlightではSystem.Windows.Browserに移動されたように見えます。しかし、Windows Phone 7(Silverlightと同じだと思っていた)では、UrlEncodeを実行する適切な方法が見つからないようです。前述のアセンブリはいずれも、Windows Phone7環境では使用できません。

34
Luke Foust

Silverlightには ri.EscapeUriStringri.EscapeDataString があり、クエリ文字列やパスコンポーネントなどのURIの一部をURLエンコードするために使用できます。

デスクトップフレームワークであっても、多くの開発者がまだ依存しているとしても、HttpUtilityのためだけにSystem.Web.dllに依存することは絶対にしないでください。これは3つの理由で悪いです。

  • アセンブリは非常に大きく、ロードするとアプリケーションに大幅な遅延が発生する可能性があります。
  • プロセスのワーキングセットを約20行のコードで肥大化させます。
  • System.Webはクライアントプロファイルにないため、アプリケーションに完全なフレームワークが必要になります。

上記のURIエスケープメソッドに加えて、HtmlEncodeが必要な場合は、コードを取り除いて 他の誰かが書いた アプリケーションにドロップします。

58
Josh

HttpUtility.UrlEncodeHttpUtility.UrlDecodeはWindowsPhone 7にあり、移動されました。

AssemblySystem.Windows.dllのSystem.Net.HttpUtilityでそれらを探します。

25
John Melville

今それは解決されました。あなたが使用することができます:

Windows.Data.Html.HtmlUtilities.ConvertToText("your_html_string");
0
Mushfiq