WCF不更新代理

时间:2012-03-17 08:56:59

标签: c# wcf

我有从wcf服务更新代理的问题。我有一个operationcontract和一个datacontract的接口,一切正常,直到我添加了一个新的operationcontract ...当我尝试从客户端app更新服务时生成的代理没有new operationcontracts。我尝试过使用svcutil但没有成功,结果相同。 知道什么是错的吗?

[ServiceContract] 
public interface ICreationService 
{ 
    [OperationContract] bool CreateTicket(Ticket ticket); 
    [OperationContract] bool CreateTicket(Ticket ticket,bool asd);
    [OperationContract] IEnumerable<Ticket> GetTickets(); 
} 

[DataContract] 
public class Ticket 
{ 
    [DataMember] 
    public string Name { get; set; } 

    [DataMember] 
    public int Severity { get; set; } 

    [DataMember] 
    public string Description { get; set; } 
} 

1 个答案:

答案 0 :(得分:1)

WCF不允许您使用多个具有相同名称的方法(不会重载)。您需要更改其中一个CreateTicket方法的名称,,您可以为方法添加名称属性,如下所示:

 [OperationContract(Name="CreateTicketNewName")]
 bool CreateTicket(Ticket ticket); 

修改

尝试返回具体类型而不是接口。这个link

上有一个类似的主题