Как добавить ссылку на службу visual studio
диалоговое окно настройка ссылки на службу позволяет настроить поведение служб Windows Communication Foundation (WCF).
Чтобы перейти в окно Настроить ссылку на службу, щелкните ссылку на службу в обозревателе решений правой кнопкой мыши и выберите пункт Настроить ссылку на службу. Кроме того, к этому окну можно перейти, нажав кнопку Дополнительно в диалоговом окне Добавление ссылки на службу.
Список задач
Чтобы изменить адрес размещения службы WCF, введите новый адрес в поле Адрес.
Чтобы изменить уровень доступа для классов в клиенте WCF, выберите ключевое слово уровня доступа в списке Уровень доступа для созданных классов.
Чтобы вызывать методы службы WCF асинхронно, установите флажок Создать асинхронные операции.
Чтобы указать типы коллекций списка или словаря для клиента WCF, выберите нужные типы в списках Тип коллекции и Тип коллекции для словаря.
Чтобы отключить совместное использование типов, снимите флажок Повторно использовать типы в сборках, на которые есть ссылки. Чтобы включить совместное использование типов для набора сборок, на которые имеются ссылки, установите флажок Повторно использовать типы в сборках, на которые есть ссылки, выберите Повторно использовать типы в сборках, на которые есть ссылки, а затем выберите нужные сборки в списке Сборки, на которые заданы ссылки.
Список элементов пользовательского интерфейса
Адрес
Обновляет веб-адрес, по которому ссылка на службу ищет службу. Например, во время разработки служба может размещаться на сервере разработки, а затем переноситься на рабочий сервер, что требует изменения адреса.
Элемент "Адрес" недоступен, если диалоговое окно Настроить ссылку на службу открыто из диалогового окна Добавление ссылки на службу.
Уровень доступа для созданных классов
Определяет уровень доступа кода для классов клиента WCF.
Для проектов веб-сайтов для этого параметра всегда задано значение Public , которое нельзя изменить. Дополнительные сведения см. в разделе Устранение неполадок ссылок на службы.
Создать асинхронные операции
Определяет, вызываются ли методы службы WCF синхронно (по умолчанию) или асинхронно.
Создать операции на основе задач
Тип коллекции
Указывает тип коллекции списка для клиента WCF. Значение по умолчанию — Array.
Тип коллекции для словаря
Указывает тип коллекции словаря для клиента WCF. Значение по умолчанию — Dictionary .
Повторно использовать типы в сборках, на которые есть ссылки
Определяет, пытается ли клиент WCF повторно использовать то, что уже существует в упоминаемых сборках, вместо создания новых типов при добавлении или обновлении службы. Этот параметр выбран по умолчанию.
Повторно использовать типы во всех сборках, на которые имеется ссылка
Если этот флажок установлен, все типы в списке сборок, на которые имеются ссылки , будут использоваться повторно по возможности. По умолчанию этот параметр выбран.
Повторно использовать типы в указанных сборках, на которые есть ссылки
Если этот флажок установлен, повторно используются только выбранные типы в списке сборок, на которые имеются ссылки .
Сборки, на которые заданы ссылки
Содержит список сборок, на которые имеются ссылки, для проекта или веб-сайта. При выборе повторного использования типов в указанных сборках, на которые имеются ссылки, можно выбрать или очистить отдельные сборки.
Добавление веб-ссылки
Откроется диалоговое окно Добавление веб-ссылки.
Кнопка Добавить веб-ссылку доступна только в том случае, если диалоговое окно Настройка ссылки на службу отображается из диалогового окна Добавление ссылки на службу.
Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в этой статье. Возможно, вы используете другой выпуск Visual Studio или другие параметры среды. Дополнительные сведения см. в разделе Персонализация среды IDE.
Предварительные требования
Добавление ссылки на службу WCF
в Обозреватель решений щелкните правой кнопкой мыши имя проекта, в который требуется добавить службу, и выберите пункт Добавление ссылки на службу.
Откроется диалоговое окно Добавить ссылку на службу.
Ссылаться на службы следует только из надежного источника. Добавление ссылок из ненадежного источника может нарушить безопасность.
Можно также выбрать URL-адрес из списка адресов , в котором хранятся предыдущие 15 URL-адресов, в которых были найдены допустимые метаданные службы.
При выполнении поиска отображается индикатор выполнения. Вы можете в любое время закрыть поиск, нажав кнопку " Закрыть".
В списке служб разверните узел службы, которую необходимо использовать, и выберите набор сущностей.
В поле Пространство имен введите пространство имен, которое хотите использовать для ссылки.
Создается клиент службы (прокси), и метаданные, описывающие службу, добавляются в файл app.config .
в Обозреватель решений дважды щелкните узел Подключенные службы .
Откроется вкладка Настройка служб .
выберите Microsoft WCF Web Service Reference Provider.
откроется диалоговое окно настройка WCF Web Service Reference .
В поле URI введите URL-адрес службы и нажмите кнопку Перейти , чтобы найти службу. Если служба реализует защиту имени пользователя и пароля, может появиться запрос на ввод имени пользователя и пароля.
Ссылаться на службы следует только из надежного источника. Добавление ссылок из ненадежного источника может нарушить безопасность.
Можно также выбрать URL-адрес из списка URI , в котором хранятся предыдущие 15 URL-адресов, в которых были найдены допустимые метаданные службы.
При выполнении поиска отображается индикатор выполнения. Вы можете в любое время закрыть поиск, нажав кнопку " Закрыть".
В списке служб разверните узел службы, которую необходимо использовать, и выберите набор сущностей.
В поле Пространство имен введите пространство имен, которое хотите использовать для ссылки.
Создается клиент службы (прокси), и метаданные, описывающие службу, добавляются в файл app.config .
в Обозреватель решений щелкните правой кнопкой мыши имя проекта, в который требуется добавить службу, и выберите пункт Добавление ссылки на службу.
Откроется диалоговое окно Добавить ссылку на службу.
Все службы ( Службы данных WCF и службы WCF) в текущем решении добавляются в список служб .
В списке служб разверните узел службы, которую необходимо использовать, и выберите набор сущностей.
В поле Пространство имен введите пространство имен, которое хотите использовать для ссылки.
Создается клиент службы (прокси), и метаданные, описывающие службу, добавляются в файл app.config .
в Обозреватель решений дважды щелкните узел Подключенные службы .
Откроется вкладка Настройка служб .
выберите Microsoft WCF Web Service Reference Provider.
откроется диалоговое окно настройка WCF Web Service Reference .
Все службы ( Службы данных WCF и службы WCF) в текущем решении добавляются в список служб .
В списке служб разверните узел службы, которую необходимо использовать, и выберите набор сущностей.
В поле Пространство имен введите пространство имен, которое хотите использовать для ссылки.
Создается клиент службы (прокси), и метаданные, описывающие службу, добавляются в файл app.config .
Обновление ссылки на службу
EDM Службы данных WCF в некоторых случаях изменения. В этом случае необходимо обновить ссылку на службу.
Обновление ссылки на службу
в Обозреватель решений щелкните правой кнопкой мыши ссылку на службу и выберите пункт обновить ссылку на службу.
При обновлении ссылки из исходного расположения отображается диалоговое окно хода выполнения, и клиент службы повторно создается для отражения любых изменений в метаданных.
в Обозреватель решений разверните узел Подключенные службы , щелкните правой кнопкой мыши ссылку на службу и выберите пункт обновить ссылку на службу.
При обновлении ссылки из исходного расположения отображается диалоговое окно хода выполнения, и клиент службы повторно создается для отражения любых изменений в метаданных.
Удаление ссылки на службу
Если ссылка на службу больше не используется, ее можно удалить из решения.
Удаление ссылки на службу
в Обозреватель решений щелкните правой кнопкой мыши ссылку на службу и выберите команду удалить.
Клиент службы будет удален из решения, а метаданные, описывающие службу, будут удалены из файла app.config .
Ссылаться на службы следует только из надежного источника. Добавление ссылок из ненадежного источника может нарушить безопасность.
Предварительные требования
Снимки экрана, приведенные в этой статье, относятся к Visual Studio 2022 г.
Использование расширения
В Обозреватель решений дважды щелкните узел подключенных служб проекта. (Для проекта .NET Core или .NET Standard этот параметр доступен, если щелкнуть правой кнопкой мыши узел зависимостей проекта в Обозреватель решений и выбрать "Управление подключенными службами".)
Отображается страница Подключенные службы, как показано на следующем рисунке:
На странице "Подключенные службы" выберите "Добавить ссылку на службу".
Откроется страница "Добавить ссылку на службу ".
Выберите веб-службу WCF и нажмите кнопку "Далее".
Откроется мастер добавления новой ссылки на веб-службу WCF .
А. Доступны несколько вариантов поиска служб:
- Чтобы найти службы, определенные в текущем решении, нажмите кнопку Обнаружение.
- Чтобы найти службы, размещенные по указанному адресу, введите URL-адрес службы в поле Адрес и нажмите кнопку Перейти.
- Чтобы выбрать WSDL-файл, содержащий информацию о метаданных веб-службы, нажмите кнопку Обзор.
Б. Выберите службу в списке результатов поиска в поле Службы. При необходимости введите пространство имен для сформированного кода в соответствующем текстовом поле Пространство имен.
Параметр Повторно использовать типы в сборках, на которые есть ссылки удобен, когда типы данных, необходимые для создания кода ссылки на службу, определены в одной из сборок, на которые ссылается проект. Важно использовать эти существующие типы данных повторно, чтобы избежать конфликта типов во время компиляции или проблем во время выполнения.
При загрузке сведений о типах может возникнуть задержка, которая зависит от числа зависимостей проекта и других факторов, связанных с производительностью системы. Кнопка Готово во время загрузки недоступна, если только не снят флажок Повторно использовать типы в сборках, на которые есть ссылки.
По завершении нажмите кнопку Готово.
Отображая ход выполнения, инструмент:
- скачивает метаданные из службы WCF;
- формирует код для ссылок на службы в файле с именем reference.cs и добавляет его в узел Подключенные службы проекта;
- обновляет файл проекта (CSPROJ-файл) с использованием ссылок на пакеты NuGet, необходимых для компиляции и запуска на целевой платформе.
После завершения этих процессов можно создать экземпляр сформированного типа клиента WCF и вызвать операции службы.
См. также раздел
Вопросы о отзывах &
Отзывы о продукте отправляйте в Сообщество разработчиков с помощью средства информирования о проблемах.
Перед написанием кода для внешних компонентов или подключенных служб необходимо включить в проект ссылки на них. По сути, ссылка — это запись в файле проекта, которая содержит сведения, необходимые Visual Studio для поиска компонента или службы.
Чтобы добавить ссылку, в обозревателе решений щелкните правой кнопкой мыши узел Ссылки или Зависимости и выберите команду Добавить ссылку. Вы также можете щелкнуть узел проекта правой кнопкой мыши и выбрать пункт Добавить > Ссылка. Дополнительные сведения см. в разделе Практическое руководство. Добавление и удаление ссылок.
Вы можете добавить ссылку на следующие типы компонентов и служб:
Приложения универсальной платформы Windows
другие сборки или библиотеки классов проектов в том же решении;
Ссылки на приложения UWP
Ссылки на проекты
Проекты универсальной платформы Windows (UWP) могут создавать ссылки на другие проекты UWP в решении либо на двоичные файлы или проекты, ориентированные на Windows 8.1, при условии, что эти проекты не используют интерфейсы API, которые являются устаревшими в Windows 10 и более поздних версиях. Более подробную информацию см. в разделе Перенос приложения из среды выполнения Windows 8 в UWP.
Если вы решили изменить целевую платформу проектов Windows 8.1 на Windows 10 или более поздней версии, ознакомьтесь со статьей Перенос, миграция и обновление проектов Visual Studio.
Справочник по пакетам SDK расширений
Если выяснится, что пакет SDK расширений, на который ссылается ваше приложение, не поддерживается, то вы должны выполнить следующие действия.
Посмотреть имя проекта, который вызывает ошибку. Платформа, для которой предназначен этот проект, указывается в скобках рядом с именем проекта. Например, MyProjectName (Windows 8.1) означает, что проект MyProjectName предназначен для платформы Windows 8.1.
Перейдите на сайт поставщика неподдерживаемого пакета SDK расширений и установите версию пакета SDK расширений с зависимостями, совместимыми с версией платформы, для которой предназначен ваш проект.
Если проект предназначен исключительно для Windows 10 и установленный в предыдущем шаге пакет SDK расширений имеет зависимость от пакета среды выполнения Microsoft Visual C++, то совместимой с Windows 10 версией этого пакета является v14.0, которая устанавливается вместе с Visual Studio.
Если установленный на предыдущем шаге пакет SDK расширений имеет зависимости от других пакетов SDK расширений, перейдите на сайты поставщиков, являющихся владельцами зависимостей, и установите версии этих зависимостей, совместимые с версией платформы, для которой предназначен ваш проект.
Перезапустите Visual Studio и откройте ваше приложение.
Щелкните правой кнопкой мыши узел Ссылки или Зависимости в проекте, который вызвал ошибку, и выберите команду Добавить ссылку.
Добавление ссылки во время разработки
При создании ссылки на сборку в проекте Visual Studio ищет сборку в следующих расположениях:
Каталог текущего проекта. (Можно найти эти сборки, используя вкладку Обзор .)
Другие каталоги проектов в одном решении. (Вы можете найти эти сборки на вкладке Проекты .)
- Все проекты содержат неявную ссылку на библиотеку mscorlib.
- Все проекты содержат неявную ссылку на System.Core , даже если System.Core была удалена из списка ссылок.
- Проекты Visual Basic содержат неявную ссылку на Microsoft.VisualBasic.
Ссылки на общие компоненты во время выполнения
По умолчанию для свойства CopyLocal задается значение False , если сборка или компонент находится в глобальном кэше сборок или является компонентом платформы. В противном случае задается значение True. Ссылки проектов на проекты всегда имеют значение True.
Ссылки проектов на проекты
Ссылки проектов на проекты — это ссылки на проекты, которые содержат сборки. Вы добавляете их на вкладке Проекты диалогового окна "Диспетчер ссылок". Visual Studio может найти сборку, если задан путь к проекту.
Ссылки на общий проект
В отличие от большинства других типов проектов, у общего проекта нет двоичных выходных данных. Вместо этого код компилируется в каждый проект, который ссылается на него. Общие проекты позволяют писать общий код, на который ссылается несколько различных проектов приложений. Код компилируется как часть каждого ссылающегося проекта и может включать директивы компилятора, которые помогают внедрить функции конкретной платформы в общую базу кода. Добавьте ссылку на общий проект на вкладке Общие проекты диалогового окна "Диспетчер ссылок".
Ссылки на файлы
Ссылки на файлы — это прямые ссылки на сборки вне контекста проекта Visual Studio. Они создаются на вкладке Обзор диспетчера ссылок. Ссылку на файл следует использовать в случае, если имеется лишь сборка или компонент, но не проект, который создает ее в качестве выходных данных.
Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в этой статье. Возможно, вы используете другой выпуск Visual Studio или другие параметры среды. Дополнительные сведения см. в разделе Персонализация среды IDE.
Предварительные требования
Создание службы
В меню Файл щелкните Создать > Проект.
На начальном экране выберите Создать проект.
На странице Настройка нового проекта нажмите кнопку создать.
Будет создана работающая служба, которую можно протестировать и использовать. Следующие два действия демонстрируют, как можно изменить метод по умолчанию для использования другого типа данных. В реальном приложении необходимо также добавить к службе ее специальные функции.
в Обозреватель решений дважды щелкните IService1. vb или IService1. cs.
Найдите следующую строку:
Измените тип value параметра на String:
Обратите внимание OperationContract на атрибут в приведенном выше коде. Этот атрибут является обязательным для любого метода, предоставляемого службой.
в Обозреватель решений дважды щелкните Service1. vb или Service1. cs.
Найдите следующую строку:
Измените тип value параметра на String:
Тестирование службы
Нажмите клавишу F5, чтобы запустить службу. Откроется форма тестового клиента WCF , которая загружает службу.
В форме Тестовый клиент WCF дважды щелкните метод GetData() в разделе IService1. Откроется вкладка GetData .
В диалоговом окне Запрос выберите поле Значение и введите Hello .
В меню Файл щелкните Выход, чтобы закрыть тестовую форму.
Доступ к службе
Ссылка на службу WCF
В меню файл наведите указатель мыши на пункт Добавить и выберите пункт создать Project.
Щелкните правой кнопкой мыши WindowsApplication1 и выберите команду Добавить ссылку на службу. Откроется диалоговое окно Добавить ссылку на службу.
В диалоговом окне Добавление ссылки на службу выберите Найти.
Service1 отображается в области службы .
Создайте клиентское приложение
В Обозревателе решений дважды щелкните Form1.vb или Form1.cs, чтобы открыть конструктор Windows Forms, если он еще не открыт.
Из Панели элементов перетащите на форму элемент управления TextBox , элемент управления Label и элемент управления Button .
Дважды щелкните Button и добавьте следующий код в обработчик событий Click :
В Обозревателе решений щелкните правой кнопкой мыши WindowsApplication1 и выберите команду Назначить запускаемым проектом.
Нажмите клавишу F5 , чтобы запустить проект. Введите любой текст и нажмите кнопку. На этой метке отображается введенный текст:.
Читайте также: