#wcf #asp.net-core
#wcf #asp.net-core
Вопрос:
Я добавил ссылку на службу WCF с помощью
Ссылки на службы -> Добавить подключенную службу -> Предварительный просмотр службы WCF
Он работает нормально, ссылка на службу добавлена успешно. Теперь я изменил службу WCF (добавил новые веб-методы) и хотел бы обновить ссылку на службу, которую я уже создал.
В проекте .net Framework я смог достичь, нажав на «Обновить ссылку на службу». Есть ли у нас эта функция в .NET CORE Project?
Комментарии:
1. На данный момент поддержка WCF в .NET CORE ограничена — возможно, вам потребуется удалить ссылку и добавить ее снова.
2. Тим, это боль, у меня более 10 ссылок на службы. При каждом обновлении службы я должен удалять и добавлять ссылку.
3. Я не знаю, можете ли вы сделать это в .NET CORE, но то, что я сделал с нашим большим приложением, в котором есть несколько служб, — это отказаться от подхода «Добавить ссылку на службу» и использовать
ChannelFactory<T>
для создания прокси-сервера и любых необходимых каналов для службы. Контракты (интерфейсы), используемые для<T>
, поддерживаются в отдельной сборке, которая используется совместно с потребляющими клиентами и сервисными реализациями. Таким образом, при изменении определения службы мне просто нужно убедиться, что обновленная сборка contracts также развернута.4. @sivaL Вы нашли какое-либо решение для этого?
Ответ №1:
Комментарии:
1. В настоящее время существует [ошибка] [2], которая выдает
Version for package
dotnst-svcutil «не удалось разрешить» в предварительной версии Core 2.1.2. Эта опция не существует в VS2022
3. В VS2022 -> Меню проекта -> Подключенные службы -> Управление подключенными службами. В меню «…» в ссылке на службу выберите «Редактировать» и выполните шаги для восстановления.
4. Если не сгенерировано с помощью Visual Studio или, альтернативно, для генерации через командную строку, можно использовать
dotnet-svcutil
. learn.microsoft.com/en-us/dotnet/core/additional-tools /…
Ответ №2:
Попробуйте снова добавить подключенную службу с тем же самым пространством имен. Не удаляйте существующую. Он перезапишет его автоматически. Я просто сделал это и подключился к другому экземпляру моей службы, и он воссоздал всю ссылку.
Комментарии:
1. Я только что попробовал это, используя net core 2.0, и это сработало для меня. Добавлен сервис и используется то же пространство имен, он спросил, уверен ли я, что хочу заменить Reference.cs, подтвердил, и это сработало, новый метод моей службы был добавлен правильно.
2. Мой по какой-то причине не воссоздает файл reference.cs, есть идеи?