我有从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; }
}
答案 0 :(得分:1)
WCF不允许您使用多个具有相同名称的方法(不会重载)。您需要更改其中一个CreateTicket
方法的名称,或,您可以为方法添加名称属性,如下所示:
[OperationContract(Name="CreateTicketNewName")]
bool CreateTicket(Ticket ticket);
修改
尝试返回具体类型而不是接口。这个link
上有一个类似的主题