34

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

4

3 に答える 3

58

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

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

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

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

于 2010-04-04T02:42:57.183 に答える
25

HttpUtility.UrlEncodeそしてHttpUtility.UrlDecode、Windows Phone 7にあり、移動したばかりです。

System.Net.HttpUtilityアセンブリSystem.Windows.dllでそれらを探します。

于 2010-05-28T06:16:00.223 に答える
0

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

Windows.Data.Html.HtmlUtilities.ConvertToText("your_html_string");
于 2014-05-26T04:39:55.300 に答える