2010-02-05 65 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

相关问题