Хостинг ASPX и WCF
-
25-10-2019 - |
Вопрос
Я много искал методы размещения WCF
и обнаружил, что они работают, однако, в моем решении, которое у меня есть WCF Service Project
(оно имеет web.config
с некоторыми строками соединения) и ASPX.NET
Проект (у него также есть web.config
), может ли кто -нибудь, пожалуйста, уточнить, как я могу размещать их на веб -сайте.
Спасибо.
Решение
Вы хотите, чтобы другой клиент получил доступ к этой службе WCF?
Если нет, просто сохраните файл .svc в существующем веб -приложении и используйте его в любое время.
Если да, разыгрывайте проект WCF в качестве веб -сайта в IIS, консоли или был и обратитесь к его веб -приложению ASPX.
Другие советы
Для размещения услуги WCF у вас есть следующие варианты:
- Winforms приложения
- Приложения консоли
- Услуги Windows
- Веб -приложения (ASP.NET), размещенные в информационных службах Интернета (IIS)
- Услуги WCF внутри IIS 7.0 и было в Windows Vista или Windows Server Code "Longhorn"
Смотрите здесь для получения дополнительной информации о размещении службы WCF.
Для размещения приложения ASP.NET я бы порекомендовал использовать IIS, Смотрите здесь о том, как. Анкет Тем не менее, используя WSE, также возможно размещать его в качестве службы Windows. Смотрите здесь о том, как.
Это просто, вам просто нужно добавить файл .svc 'в свой проект aspx.net. Например, Service1.svc
Затем добавьте следующий код в файл
<%@ ServiceHost Language="C#" Service="WCFServiceProject.Main" %>
WCFServiceProject.Main - это полностью квалифицированное пространство имен и название класса, которое предоставляет функциональность вашего сервиса
Вам также нужно будет зарегистрировать расширение SVC в IIS для работы, если вы еще этого не сделали. И не забудьте добавить ссылку на службу WCF в проект ASPX.NET.
Если вы хотите динамически создать сервис, то посмотрите на мой вопрос для некоторых подсказок Создание услуг WCF в IIS в коде
Просто перечитайте обновленный (отредактированный) вопрос. Вам нужно будет скопировать детали подключения из проекта Service WCF в свой проект ASP.NET.