【问题标题】:How to pass Complex Type parameters in a service contract如何在服务合同中传递复杂类型参数
【发布时间】:2011-07-06 19:30:10
【问题描述】:

这是一个已经存在的 XML 请求格式,我必须实现一个 Web 服务,以接受下面这种格式的请求。

(方法或操作名称) (复杂类型1) (复杂类型2) (复杂类型3) (一些原始数据类型1) xyz (/一些原始数据类型) (一些原始数据类型2) abc (/一些原始数据类型) (/复杂类型3) (/复杂类型2) (/复杂类型1) (/方法或操作名称)

我以前从未编写过 Web 服务,并且在过去 2 天一直在阅读有关服务合同和数据合同的内容。

据我所知,创建服务合同

[ServiceContract]
define Interface MyServiceContract
{
[OperationContract]
declare Method or Operation name(parameters) //How to pass complex types here?
}

【问题讨论】:

    标签: wcf service contract


    【解决方案1】:

    您应该定义一个类,其实例将作为参数传递给 OperationContract 方法,并使用 DataContract 属性标记该类。 Using Data Contracts 主题包含代码示例。这有帮助吗?

    【讨论】:

    • 好的,所以所有复杂类型都应该作为 DataContract 传递。所以我必须为每个复杂类型定义一个类并将其对象作为参数传递。 XML请求格式中是否有嵌套的复杂类型和原始数据类型是否嵌套在这些复杂类型中无关紧要?
    • 所有复杂的嵌套类也应该使用 DataContract 属性进行标记。请看wcf service to service communication and data contract线程...
    • 欣赏它.. 所以我们将在另一个类中声明一个类的对象,就像我们有复杂类型的嵌套序列一样,最终我们会将根类类型的对象传递给运营合同!
    猜你喜欢
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2014-07-18
    相关资源
    最近更新 更多