0

我正在编写一个 Web 服务并传递了一个显示为的对象

      <OfferDetail>
        <OfferID>long</OfferID>
        <InterestID>long</InterestID>
        <RangeValue>string</RangeValue>
        <Score>string</Score>
        <Importance>string</Importance>
        <Range>string</Range>
        <ImportanceByOtherUser>string</ImportanceByOtherUser>
        <RangeByOtherUser>string</RangeByOtherUser>
      </OfferDetail>

在网络服务占位符中,但我不想要

 <ImportanceByOtherUser>string</ImportanceByOtherUser>
 <RangeByOtherUser>string</RangeByOtherUser>

在那里是占位符。注意:我无法将它们从对象中移除

4

4 回答 4

0

如果您使用的是 WCF,那么您可能已将其DataContractAttribute应用于您通过服务返回其数据的对象。如果这是一个服务定义(我对此表示怀疑,但您没有发布任何 C# 代码),那么您将希望摆脱OperationContractAttribute那些装饰这些属性的东西。但我相信是后者而不是前者——所以我会先寻找DataContractAttributes。

HTH。

于 2013-09-03T13:05:10.877 回答
0

只是想知道为什么?.

这些成员是用于内部 Web 服务使用还是私人数据?我有时看到一些开发人员通过 Web 服务直接发布 ORM 对象。虽然它可能有效,但通常不是一个好主意,因为您不想公开整个对象,而只想公开对象的一个​​子集,甚至是几个对象的组合(例如,客户的主要详细信息 + 本月的最后订单) .

因此,我强烈建议您重构代码。您应该创建一些专用于 Web 服务数据输出的 DTO 对象,以及用于输入的命令对象。

您指定不能更改对象,但是添加另一个图层呢?

于 2013-09-03T13:12:04.537 回答
0

您使用的是什么类型的网络服务?根据这一点,您可以使用XmlIgnore,NonSerialized等属性IgnoreDataMember

问题 1

问题2

于 2013-09-03T13:36:59.693 回答
0

它是一个已知的错误。

http://archive.msdn.microsoft.com/WsdlHelpGenerator/Release/ProjectReleases.aspx?ReleaseId=412

下载文件并在网络配置中添加以下内容

    <webServices>
 <wsdlHelpGenerator href="CustomWsdlHelpGenerator.aspx"/>
</webServices>

Href应该指向你项目中下载的文件

于 2013-09-18T07:10:00.240 回答