C# WCF没有';t更新代理
我无法从wcf服务更新代理。我有一个operationcontract和一个datacontract的接口,在我添加一个新operationcontract之前,一切都正常…当我尝试从客户端更新服务时,应用程序生成的代理没有新的operationcontract。我尝试使用svcutil,但没有成功,结果相同。 知道怎么了吗C# WCF没有';t更新代理,c#,wcf,C#,Wcf,我无法从wcf服务更新代理。我有一个operationcontract和一个datacontract的接口,在我添加一个新operationcontract之前,一切都正常…当我尝试从客户端更新服务时,应用程序生成的代理没有新的operationcontract。我尝试使用svcutil,但没有成功,结果相同。 知道怎么了吗 [ServiceContract] public interface ICreationService { [OperationContract] bool
[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; }
}
[服务合同]
公共接口ICreationService
{
【运营合同】bool CreateTicket(票证);
【运营合同】bool CreateTicket(票证,bool asd);
[OperationContract]IEnumerable GetTickets();
}
[数据合同]
公务舱票
{
[数据成员]
公共字符串名称{get;set;}
[数据成员]
公共int严重性{get;set;}
[数据成员]
公共字符串说明{get;set;}
}
WCF不允许使用多个同名方法(无重载)。您需要更改其中一个CreateTicket
方法的名称,或您可以向方法添加名称属性,如下所示:
[OperationContract(Name="CreateTicketNewName")]
bool CreateTicket(Ticket ticket);
编辑
尝试返回具体类型而不是接口。这上面有一个类似的线程你能发布你添加的新合同和你的绑定吗?[ServiceContract]公共接口ICreationService{[OperationContract]bool CreateTicket(票证);[OperationContract]bool CreateTicket(票证,bool asd);//[OperationContract]IEnumerable GetTickets();}[DataContract]公共类票证{[DataMember]公共字符串名称{get;set;}[DataMember]公共int严重性{get;set;}[DataMember]公共字符串描述{get;set;}为了便于人们帮助您,您必须向我们展示您的web.config、更新的合同,以及在web浏览器中浏览服务时看到的异常感谢您的提示,但即使我删除了它,方法IEnumerable GetTickets()也不会反映在代理中…此接口是在代理中生成的:[System.CodeDom.Compiler.GeneratedCodeAttribute](“System.ServiceModel”、“4.0.0.0”)][System.ServiceModel.ServiceContractAttribute(ConfigurationName=“ServiceReference2.ICreationService”)]公共接口ICreationService{[System.ServiceModel.OperationContractAttribute(Action=”,ReplyAction=“bool CreateTicket(Web.ServiceReference2.Ticket Ticket);}…仍然没有方法GetTickets()…知道吗?我lost@user1275513,修改您的GetTickets()为了返回一个具体的类而不是IEnumerableI,我尝试将其更改为List,但仍然不起作用…所以我决定创建新的服务,但现在我无法在主机运行时获取endpoint…我的项目中可能存在全局错误