2010-11-09 144 views
2

MonoTouch现在关联;在iPad中托管WCF Web服务(MonoTouch)

我想将我的iPad变成WCF Web服务的主机。我已经有一个在Mac(Mono)上运行的.NET实现。该解决方案使用类别System.ServiceModel.ServiceHostSystem.ServiceModel.Web.WebServiceHost。但是,即使我引用了System.ServiceModel和System.ServiceModel.Web,这些类也不能在iPad项目中找到;

这些类是否仅在monodouch上实现? PS:我知道如何将iPad变成带有System.Net.HttpListener类的Web服务器,但这不是我现在想要完成的。

回答

1

似乎它只适用于基于WebScriptServiceHostFactory的工厂,通过阅读这组补丁程序:http://lists.ximian.com/pipermail/mono-patches/2009-October/159496.html

看着目前的消息来源,我们可以看到ServiceHost被移除了移动平台(https://github.com/mono/mono/blob/master/mcs/class/System.ServiceModel/moonlight_raw_System.ServiceModel.dll.sources),这可能与Silverlight中可用的功能相匹配,Silverlight有意限制主机容量。

因此,请调整您的代码以使用可用的内容,或者提出请求(可能会被拒绝),以使MonoTouch/MonoDroid具有更多可用的WCF堆栈。

+0

我怀疑更多的堆栈将被添加到MonoTouch配置文件中,但您始终可以使用Mono源代码来构建自己的dll。只要确保你用'smcs'编译它们,以便它们引用正确的'Silverlight'版本的mscorlib等。 – jpobst 2010-11-09 15:42:47