能否从Silverlight/C#调用Matlab函数?

4

是否可以从Silverlight / C#调用matlab函数?


1
你想调用哪些函数?为什么不使用http://mathnetnumerics.codeplex.com/? - Mikhail Poda
我需要调用我在Matlab中实现的自己的函数和一些本地函数。但是Mathnumerics似乎是一个很好的工具。谢谢! - jose
4个回答

5
如果您有一个可以解释Mathlab调用的程序集(dll),那么您应该能够将该程序集包含在您的项目中,并将其与其余部分一起编译。显然,您将无法运行Silverlight并与安装的Matlab实例进行接口交互(除非API通过COM互操作公开并使用Silverlight 4,但这可能会变得混乱)。如果您找不到可直接包含在Silverlight应用程序中的程序集,那么sourceforge上的Web API似乎是一个非常好的选择。请阅读我在那里的评论以获取更多想法。

3
我不认为你打算在浏览器中运行的Silverlight可以实现这一点,但你可以使用WPF作为Windows应用程序来实现。
但是,您可以使用Matlab Server Pages(MSP)将Matlab功能公开为Web服务,然后从Silverlight消费该功能。

http://msp.sourceforge.net

这个教程非常有趣,展示了如何从C#访问MSP Web服务。

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


1
消费Web服务的想法似乎非常适合Silverlight应用程序。如果您尝试直接从Silverlight客户端访问服务,则可能会遇到跨域功能方面的一些问题(尽管在Silverlight 4中,这可能被允许在脱机提升信任)。至少,您可以在主机域上创建一个与独立域上的Matlab服务交互的Web服务。在任何版本的SL中,这应该都可以正常工作。 - Ben McCormack
只要您可以控制 Web 服务运行的服务器,就不应该有任何跨域问题。您只需要在 Web 服务域的根目录下放置一个 clientaccesspolicy.xml 文件即可。 - Matt
一开始我以为他会访问别人托管的服务,但你提到的sourceforge项目看起来像是需要在自己的域名上托管的东西。 - Ben McCormack

1

看起来这个API被用于在Matlab中使用.NET对象,而不是反过来。 - Ben McCormack

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接