在metro风格的应用程序中我想添加服务引用(wikispaces)。 VS2012正确发现服务:
不幸的是,生成的 Reference.cs 不提供服务中的任何方法:
为什么会这样?这项服务不兼容吗?我该如何访问服务?
编辑: 它是metro风格的应用程序,因此应生成 async 方法。但它们并没有产生。
答案 0 :(得分:0)
我尝试了一些,但似乎不可能让它生成异步方法。找不到确切的原因。也许它与WSDL有关。
无论如何,既然你不拥有这项服务,我只能想到一种方法。在它前面创建自己的中间WCF 4.5服务并从应用程序中使用它。
这样可行,因为:
我还想过为一个完整的框架项目生成wikipages代理,然后将其移动到你的Win8客户端,但这需要纠正很多生成的代码,以便进行编译(至少)。 / p>
答案 1 :(得分:0)
您是以管理员还是普通用户身份运行VS?我有类似的问题,并在添加服务引用解决后运行VS作为管理员。
答案 2 :(得分:0)
我对VS2012和WikiSpaces有同样的问题。我不知道究竟有什么问题,但是如果你build these services from the command line它就可以了。
如果您使用Messages(Comments)API,那么您将遇到WikiSpaces的第二个问题。他们在WSDL中搞砸了一些类型,不小心将body和html成员设置为int而不是string。你想要编辑WSDL并从中构建,或者(更快)编辑从WSDL生成的MessageService.cs,并确保body和html是字符串而不是整数(然后重新编译它)!
答案 3 :(得分:0)
pwas,在cmd.exe中尝试此命令
C:\Program Files (x86)\Microsoft Visual Studio 12.0>wsdl /out:C:\wiki.cs http://www.wikispaces.com/page/api?wsdl"