WCF ContractFilter在EndpointDispatcher错误时不匹配

问题描述 投票:0回答:1

需要帮助的人!我们已有带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的新手。他们具有系统生成的服务模型,例如生成的接口系统:[...

c# asp.net wcf-data-services
1个回答
0
投票

今天,我最终遇到了相同的错误,并通过以下解决方法为我解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.