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