3

在 Metro 风格应用程序中,我想添加服务参考(wikispaces)。VS2012 正确发现服务: 添加服务参考

不幸的是,生成的Reference.cs不提供服务中的任何方法: 对象浏览器

为什么会发生?该服务不兼容吗?如何访问服务?

编辑:它是地铁风格的应用程序,所以应该生成异步方法。但它们不是生成的。

4

4 回答 4

0

我尝试了更多,但似乎不可能让它生成异步方法。找不到确切的原因。也许它与 WSDL 相关。

无论如何,由于您不拥有该服务,我只能想到一种方法。在它前面创建您自己的中间 WCF 4.5 服务并从应用程序中使用它。

这将起作用,因为:

  • 为 wikipages 服务生成代理可以从完整的框架项目中工作,因此它将在 WCF 项目中工作。您可以在 Windows 服务中托管您的服务。
  • 似乎在 Windows 应用商店应用程序中生成代理对 WCF 服务很有效。这里的例子

我还考虑过为完整的框架项目生成 wikipages 代理,然后将其移动到您的 Win8 客户端,但这需要更正大量生成的代码才能使其编译(至少)。

于 2013-05-05T08:04:23.687 回答
0

我对 VS2012 和 WikiSpaces 也有同样的问题。我不知道到底出了什么问题,但是如果您从命令行构建这些服务,它就可以正常工作。

如果您使用消息(评论)API,您将遇到 WikiSpaces 的第二个问题。他们弄乱了 WSDL 中的某些类型,不小心将 body 和 html 成员设置为 int 而不是 string。您需要编辑 WSDL 并从中构建,或者(更快)编辑从 WSDL 生成的 MessageService.cs 并确保 body 和 html 是字符串而不是整数(然后重新编译它)!

于 2013-06-16T02:22:07.190 回答
0

您是以管理员身份运行 VS 还是以普通用户身份运行 VS?添加服务引用时,我遇到了类似的问题并以管理员身份运行 VS 解决了它。

于 2013-05-05T13:50:48.007 回答
0

pwas, in cmd.exe try this command

C:\Program Files (x86)\Microsoft Visual Studio 12.0>wsdl /out:C:\wiki.cs  http://www.wikispaces.com/page/api?wsdl"
于 2013-10-11T09:25:47.263 回答