【问题标题】:Error when adding service reference to WCF service with type ObservableCollection将服务引用添加到类型为 ObservableCollection 的 WCF 服务时出错
【发布时间】:2023-03-29 01:14:02
【问题描述】:

尝试向现有 WCF 服务(提供 ObservableCollection 类型的集合)添加服务引用时,我收到以下错误消息:

尚未导入架构类型“http://schemas.microsoft.com/2003/10/Serialization/Arrays:ArrayOfString”。先导入。

我尝试将框架(在“添加 Web 引用”屏幕中)更改为“.NET 2.0 Web 服务”。在这种情况下,我没有收到上述错误消息,但是,我无法调用 WCF 服务提供的几个函数(它们根本没有生成)。

谁能帮帮我?

提前致谢。

恩斯特扬

【问题讨论】:

  • 你是直接从你的服务方法返回 ObservableCollection 吗?

标签: wcf xamarin.ios


【解决方案1】:

Microsoft 在 'http://schemas.microsoft.com/2003/10/Serialization/Arrays' 名称空间中定义了非 MS 会遇到问题的数组,因此请定义您的“ArrayOfString”并对其进行序列化:

[CollectionDataContract(ItemName = "string", Namespace = "SAME NAMESPACE AS YOUR PROJECT!!!")]

public class ArrayOfString : List<string>

{

}

那你应该没事。

【讨论】:

  • 它只将该命名空间用于简单类型的数组。用户定义类型的数组使用该类型的命名空间。请参阅my test 中的GetListOfFoo()
【解决方案2】:

这是 Mono 的 WSDL 导入器中的一个错误,它不完全支持集合类型。

我刚刚实现了这个,所以你很快就会在 Monotouch 中看到它。作为临时解决方法,您需要使用 Visual Studio 或 Svcutil.exe 在 Windows 上创建客户端代理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 2013-01-12
    相关资源
    最近更新 更多