首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WCF更新服务引用不会添加新属性

WCF更新服务引用不会添加新属性
EN

Stack Overflow用户
提问于 2017-06-21 19:55:31
回答 0查看 847关注 0票数 1

我创建了一个后端服务(Windows服务),它通过WCF向我的网络客户端提供数据,处理到数据库的连接和一些特定的任务。

每次在我的DTO对象中更改某些内容时,当我更新服务引用时,这些更改在客户端都是正确的。

但是现在Update-Process没有为WCF-Service创建正确的代理。当我添加一些DTO对象时,关于新DTO的信息正确地更新到客户端,但是当我向现有DTO对象添加一些属性时,Update-Servicereference函数不包括新属性。我已经尝试创建一个全新的应用程序,并在此测试场景中添加Service-Reference,但在本例中,新属性不会出现在proxy-class中。

我第一次注意到这个行为是在我试图在我的"File.cs“DTO中创建一个新属性的时候。我认为是名称"File“(类定义具有相同的名称)造成了这个错误。因此,我决定将"File“DTO-Class重命名为AttachmentFile,这样就可以在代理上正确地创建新的属性。

但是现在我尝试将属性添加到DeviceStayType和ProcessStateType类中,并且有相同的行为。没有显示任何错误,Git显示当我按下Update Service-References时,代理发生了变化,但客户端上仍然缺少属性。

以下是一些代码片段:

旧的DeviceStayType-Class:

代码语言:javascript
复制
    [DataContract]
public class DeviceStayType : TypesBase
{
}

新的DeviceStayType-Class:

代码语言:javascript
复制
    [DataContract]
public class DeviceStayType : TypesBase
{
    [DataMember(Name = "TableName")]
    [MaxLength(200)]
    public string TableName { get; set; }
}

为DeviceStayType生成的代理

代码语言:javascript
复制
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="DeviceStayType", Namespace="http://schemas.datacontract.org/2004/07/ProductLifecycle.Backend.Models.DTO")]
[System.SerializableAttribute()]
public partial class DeviceStayType : ProductLifecycle.Frontend.CommunicationService.TypesBase {
}

希望任何人能帮忙:(谢谢,Michael

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44675396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档