2010-02-05 101 views
4

是否可以從Silverlight/C#中調用matlab函數?是否有可能從Silverlight/C#中調用matlab函數?

+1

你想調用哪些函數?爲什麼不能http://mathnetnumerics.codeplex.com/? – Mikhail 2010-02-05 23:14:41

+0

我需要調用我自己的函數在matlab和一些本地實現。但是數學數學似乎是一個很好的工具。謝謝! – jose 2010-02-09 21:57:59

回答

5

如果你有一個組件(DLL),可以解釋Mathlab電話,你應該能夠在項目中包含該程序集,並與您的應用程序的其餘部分進行編譯。

顯然,您將無法並行運行Silverlight與已安裝的Matlab實例接口(除非API通過COM interop和Silverlight 4公開,但可能會變得麻煩)。

SourceForge上的網絡API,如馬特提到的,似乎是一個非常不錯的選擇,如果你不能找到組件直接Silverlight應用程序內包含。請閱讀我的評論以獲得更多想法。

1

可以使用Matlab API for .NET

+0

它似乎是用來從Matlab內部消費.NET對象的API,反之亦然。 – 2010-02-05 14:41:53

3

我不認爲這將是可能的,你是打算在瀏覽器中運行的Silverlight,雖然你當然可以使用WPF作爲一個Windows應用程序。

然而,你可能暴露Matlab的功能利用Matlab服務器頁面(MSP)Web服務,然後從消費的Silverlight的fucntionlaity。

http://msp.sourceforge.net

特別感興趣的isthis教程顯示瞭如何通過C#中的MSP web服務。

http://msp.sourceforge.net/Tutorial/tutor13.htm

+1

消費Web服務的想法似乎非常適合Silverlight應用程序。如果您嘗試直接從Silverlight客戶端訪問服務(儘管Silverlight 4中的瀏覽器外的提升信任可能允許),您可能會遇到一些跨域功能問題。至少,您可以在您的主機域上創建一個Web服務,與獨立域上的matlab服務進行交互。這在任何版本的SL中都應該可以正常工作。 – 2010-02-05 14:44:41

+0

只要您可以控制運行Web服務的服務器,您應該可以處理任何跨域問題。您只需將一個clientaccesspolicy.xml文件放在web服務域的根目錄下即可。 – Matt 2010-02-05 14:50:51

+0

完全正確。起初我以爲他會訪問別人的託管服務,但你引用的sourceforge項目看起來像你應該在你自己的域名上託管的東西。 – 2010-02-05 15:21:44

相關問題