leonidasvijay Ответов: 2

Создайте службу wcf как веб-службу, так и службу окон


Привет Ребята,

Я пытаюсь создать службу wcf, которая будет работать как веб-служба, так и служба windows.
На самом деле я создал сервис wcf, в который включил установщик. И это прекрасно работает.
Но чтобы вызвать метод службы wcf, мне нужно добавить ссылку на службу в мое приложение.
Но мне нужно вызвать методы службы wcf, используя ссылки через jquery, а не ссылаясь на объект Службы.
А также хочет включить междоменный ajax-вызов для выполнения запросов GET и POST.

Может у кого-нибудь есть какое-то решение для этого.

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

2 Ответов

Рейтинг:
1

Ranjeet Patel

Есть несколько способов сделать это. вы можете создать службу WCF и создать одну службу windows, которая будет использовать этот веб-сервис. видеть это ссылка .

существует четыре способа развертывания службы WCF
1) размещенный в IIS,
2) WAS(служба активации windows)
3)самостоятельный хостинг
4)Службы Windows

вы можете видеть это ссылка Я нашел в почтении между веб-службой и службами WCF

Надеюсь, это поможет


leonidasvijay

Спасибо, что ответили.

Основные проблемы, которые я получаю перед размещением службы wcf в качестве оконных служб, заключаются в следующем :

(1) Когда я вызываю методы, определенные в моей службе wcf с помощью jquery, то служба wcf и мое приложение должны находиться в одном решении. Если я изменю решения для приложения и службы wcf, то мне нужно включить междоменный ajax-вызов в службе wcf. Для этого я добавил файл Globl.asax.

охраняемых недействительными Application_BeginRequest(объект отправителя, EventArgs в электронной)
{
Свойство HttpContext.Тока.Ответ.Кэш.SetCacheability(HttpCacheability.NoCache);
Свойство HttpContext.Тока.Ответ.Кэш.Сетностор();

EnableCrossDmainAjaxCall();
}

частная пустота EnableCrossDmainAjaxCall()
{
Свойство HttpContext.Тока.Ответ.AddHeader("Access-Control-Allow-Origin", "*");
если (объект HttpContext.Тока.Запрос.HttpMethod == "параметры")
{
Свойство HttpContext.Тока.Ответ.AddHeader("Access-Control-Allow-Methods", "GET, POST");
Свойство HttpContext.Тока.Ответ.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
Свойство HttpContext.Тока.Ответ.AddHeader("Access-Control-Max-Age", "1728000");
Свойство HttpContext.Тока.Ответ.Конец();
}
}
Тогда он отлично работает для ajax-вызова через Jquery.

(2) После добавления файла Global.asax в мою службу wcf я не могу добавить установщик в свою службу wcf, чтобы разместить его как службу windows из-за наличия OnStart и Application_BeginRequest
столкновения.

Теперь это мои проблемы.
Надеюсь, вы это понимаете.

Рейтинг:
1