我创建了一个后端服务(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:
[DataContract]
public class DeviceStayType : TypesBase
{
}新的DeviceStayType-Class:
[DataContract]
public class DeviceStayType : TypesBase
{
[DataMember(Name = "TableName")]
[MaxLength(200)]
public string TableName { get; set; }
}为DeviceStayType生成的代理
[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
https://stackoverflow.com/questions/44675396
复制相似问题