0

私がサーバーを制御しておらず、そこに crossdomain.xml または clientaccesspolicy.xml ファイルを置くことができないと仮定すると、Silverlight アプリ内で外部 REST API への http 呼び出しを行うにはどうすればよいでしょうか。データを Silverlight アプリに渡しますか?

4

4 に答える 4

0

他に方法はありません。crossdomain.xml と clientaccesspolicy.xml を使用するかアプリデータを渡すJavaScriptでこれを解決します。

于 2013-02-05T10:51:28.370 に答える
0

ここで説明されているものと同様の ASP.NET プロキシを実装することになりました

次に、Silverlight アプリに次のコードを追加します。

    public class Handler : IWebRequestCreate
    {
        public WebRequest Create(Uri uri)
        {
            return WebRequestCreator.ClientHttp.Create(new Uri("http://localhost:3234/Proxy.ashx?" + Uri.EscapeUriString(uri.OriginalString)));
        }
    }

    public MainPage()
    {
        InitializeComponent();

        HttpWebRequest.RegisterPrefix("http://", new Handler());
        HttpWebRequest.RegisterPrefix("https://", new Handler());

        (...rest of code...)
    }

1 つの注意点は、コードの残りの部分では、常に使用HttpWebRequest.Createし、決して使用しないように注意する必要があることです。HttpWebRequest.CreateHttp

于 2013-02-13T16:50:27.927 に答える
0

独自のプロキシ サーバー (またはサーバー アプリケーション、または Web アプリの http ハンドラー) を構築して、要求を目的のホストに転送できます。

于 2013-02-05T04:46:20.267 に答える