метод «Любой» не поддерживается, если MaxProtocolVersion меньше 3,0 - PullRequest
0 голосов
/ 27 февраля 2019

Я недавно обновил свой проект с .NET Framework 4.5.1 до 4.7.2 и добавил ссылку на службу WCF в проект.

Когда я добавляю ссылку на службу в проект .NET Framework 4.5.1,автоматически сгенерированный код в файле reference.cs имеет метод конструктора ниже

[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public abc(global::System.Uri serviceRoot) : 
                base(serviceRoot, global::System.Data.Services.Common.DataServiceProtocolVersion.V3)

Но когда я добавил сервисную ссылку в проект .NET Framework 4.7.2, автоматически сгенерированный код в файле reference.cs имеет метод конструктора ниже

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public abc(global::System.Uri serviceRoot) : 
                base(serviceRoot)

Параметр версии не существует в унаследованном базовом классе проекта .NET Framework 4.7.2.Это вызывает приведенную ниже ошибку во время выполнения

, метод «Any» не поддерживается, если MaxProtocolVersion меньше «3.0»

Когда я добавляю параметр вручную изапустить проект, он работает совершенно нормально.Но я не могу добавить параметр вручную, так как это автоматически сгенерированный файл, и он обновляется после обновления службы

Я посмотрел файл WCF службы .svc, а метод InitializeService (DataServiceConfiguration config) имеет следующую строкукода.

config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...