需要帮助的人!我们已有带WCF的旧系统ASP.NET和Microsoft企业库,而我是WCF的新手。他们有一个系统生成的服务模型,像这样]
接口系统生成:
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] [System.ServiceModel.ServiceContractAttribute(ConfigurationName = "IMyService")] public interface IMyService
Class:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)] public partial class MyService : IMyService
然后他们要求我在接口和类下添加这样的方法
接口中添加的方法:
[System.ServiceModel.OperationContractAttribute (Action = "http://tempuri.org/IMyService/DoWork", ReplyAction = "http://tempuri.org/IMyService /DoWorkReponse")] void DoWork (int param1,int param2); public void DoWork (int param1,int param2) { base.Channel.DoWork (int param1,int param2); }
在类中添加的方法:
Public void DoWork(int param1,int param2)
然后,当我尝试调用这种方法时:
IMyService.DoWork(1,2)
它显示如下:
System.ServiceModel.ActionNotSupportedException:'由于EndpointDispatcher的ContractFilter不匹配,带有接收方'http://tempuri.org/IMyService/DoWork'的消息无法在接收方处理。这可能是由于合同不匹配(发送方和接收方之间的操作不匹配)或发送方和接收方之间的绑定/安全不匹配造成的。检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全性要求,例如消息,传输,无)。'
我想念什么吗?
需要帮助的人!我们已有带WCF的旧系统ASP.NET和Microsoft企业库,而我是WCF的新手。他们具有系统生成的服务模型,例如生成的接口系统:[...
今天,我最终遇到了相同的错误,并通过以下解决方法为我解决了问题。