Хостинг ASPX и WCF

Я много искал способы размещения WCF и нашел их для работы, однако, в моем решении у меня есть WCF Service Project(оно имеет web.config с некоторыми строками подключения) и ASPX.NET проект (он также имеет web.config), мог бы кто-нибудь уточнить, как я могу разместить их на веб-сайте.

Спасибо.

3 ответа

Решение

Хотите ли вы, чтобы любой другой клиент получил доступ к этой службе WCF?

Если нет, просто сохраните файл.svc в существующем веб-приложении и используйте его, когда вам нужно.

Если да, разместите проект WCF как веб-сайт в IIS, консоли или WAS и отправьте его из своего веб-приложения aspx.

Это просто, вам просто нужно добавить файл.svc в ваш проект ASPX.net. например, Service1.svc

Затем добавьте следующий код в файл

<%@ ServiceHost Language="C#" Service="WCFServiceProject.Main" %>

WCFServiceProject.Main - это полностью определенное пространство имен и имя класса, который обеспечивает функциональность вашего сервиса.

Вам также нужно будет зарегистрировать расширение svc в IIS, чтобы оно работало, если вы этого еще не сделали. И не забудьте добавить ссылку на сервисный проект WCF в проект aspx.net.

Если вы хотите создать сервис динамически, тогда посмотрите мой вопрос для некоторых советов Создание сервиса wcf в IIS в коде

Просто перечитайте обновленный (отредактированный) вопрос. Вам нужно будет скопировать детали подключения из сервисного проекта WCF в ваш проект asp.net.

Для размещения сервиса WCF у вас есть следующие опции:

  • Приложения WinForms
  • Консольные приложения
  • Службы Windows
  • Веб-приложения (ASP.NET), размещенные на информационных службах Интернета (IIS)
  • Службы WCF в IIS 7.0 и WAS в Windows Vista или Windows Server с кодовым именем "Longhorn"

Смотрите здесь для получения дополнительной информации о размещении службы WCF.

Для размещения приложения Asp.Net я бы порекомендовал использовать IIS, см. Здесь, как. Однако, используя WSE, также можно разместить его как службу Windows. Смотрите здесь как.

Другие вопросы по тегам