假設我不控制服務器並且無法在其中放置crossdomain.xml或clientaccesspolicy.xml文件,那麼如何在Silverlight應用程序內將http調用傳遞給外部REST API,而不必使用JavaScript來做到這一點,然後將數據傳遞給Silverlight應用程序?如何在Silverlight中調用外部REST API
0
A
回答
0
我最終實現一個ASP.NET代理相似,有什麼描述here
,然後將以下代碼添加到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...)
}
一個需要注意的是,在代碼的其餘部分一定要小心,總是使用HttpWebRequest.Create
而不是HttpWebRequest.CreateHttp
0
您可以構建您自己的代理服務器(或者您的Web應用程序中的服務器應用程序或http處理程序)以將請求轉發到所需的主機。
0
沒有別的辦法,要麼你用的crossdomain.xml和clientaccesspolicy.xml或者你的JavaScript將數據傳遞給應用程序解決此問題。
0
如上所述,代理服務器是唯一的答案,因爲微軟從頭建立的限制。我一直在使用Silverlight多年,希望他們從來沒有這樣做過。
但是,我創造了這個庫:
它有一個通的實現通過(代理)REST的服務與Silverlight的樣本,這使它看起來好像在Silverlight客戶端應用程序一起交談到位桶正在與BitBucket直接交談。我已經將代碼包含在爲您提供clientaccesspolicy的示例中。
相關問題
- 1. 調用外部REST API
- 2. Silverlight:如何使用REST API?
- 3. Twitter Finagle客戶端:如何進行外部REST API調用?
- 4. mason如何在WEB API外部調用
- 5. 如何在Rails REST API中使用外部提供的ID?
- 6. 調用外部API
- 7. 如何調用REST API?
- 8. 如何從codeIgniter調用外部API?
- 9. 從Silverlight調用REST服務
- 10. 在xamarin中調用REST API
- 11. 從REST API中調用REST Api(Node.js)
- 12. 使用Camel和Spring調用外部REST API
- 13. 需要寫javascript用於調用外部REST API
- 14. 如何在Rails中使用外部API?
- 15. 如何從.NET中調用node.js REST API
- 16. 如何在Silverlight 5中使用REST webservice?
- 17. 如何在React/Webpack中創建代理以調用外部API
- 18. 在我的REST API中調用cloudconvert API
- 19. 從Conversation API調用外部REST Web服務
- 20. AWS Lambda無法將REST調用到外部API
- 21. 模擬調用外部API
- 22. Django外部API調用
- 23. 遞歸調用外部API
- 24. 如何在js中調用外部jsp
- 25. 使用由WorkMail事件調用的AWS Lambda調用外部Web Api REST端點
- 26. PHP中的REST API調用
- 27. Rest Rest API調用ASP.NET Web API
- 28. 使用Nodejs在亞馬遜Lambda內部調用REST API的意外行爲
- 29. 使用請求模塊在代理後面調用外部REST api
- 30. 如何在django中模擬外部API?