Несовпадение WCF ContractFilter при ошибке EndpointDispatcher - PullRequest
0 голосов
/ 26 февраля 2019

Нужна помощь, ребята!У нас есть старая система ASP.NET с WCF и корпоративной библиотекой Microsoft, и я новичок в WCF.У них есть сгенерированная системой сервисная модель, такая как

Интерфейс Сгенерированная система:

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(ConfigurationName = "IMyService")]
public interface IMyService

Класс:

[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: «Сообщение с действием» http://tempuri.org/IMyService/DoWork 'не может быть обработано в получателе,из-за несоответствия ContractFilter в EndpointDispatcher.Это может быть связано либо с несоответствием контракта (несоответствующие действия между отправителем и получателем), либо с несоответствием привязки / безопасности между отправителем и получателем.Убедитесь, что отправитель и получатель имеют один и тот же контракт и одинаковую привязку (включая требования безопасности, например, Сообщение, Транспорт, Нет). '

Я что-то упустил?

...