2014-09-09 3 views
1

У меня есть требование, чтобы мой веб-сервис (написанный в WebAPI) распечатывал некоторые данные на принтере, связанном с моим сервером.Что такое самостоятельный хостинг? Может ли он использоваться с webapi для связи с устройствами?

(Короче говоря, мои клиенты будут посылать некоторые данные моей службы WebAPI и принтер в моем домене (домен сервера) должен распечатать его.)

Я разместить службу в IIS и использовать Printmanager для печати данные. Но, похоже, мы не должны этого делать, потому что веб-службы, размещенные в IIS, не должны взаимодействовать с местным оборудованием (это, по-видимому, не рекомендуется).

В то время как есть много учебников о самообслуживании WCF или WebAPI, я пытаюсь выяснить, могу ли я использовать самостоятельный хостинг в этом случае.

Могу ли я самостоятельно разместить приложение WebAPI в службе Windows, чтобы служба имела права доступа к принтеру?

+0

Короче ... Да, вы можете самостоятельно принять решение по веб-API ... Это действительно ваш вопрос или вы действительно ищете что-то еще? Если это действительно ваш вопрос, то см. Мой ответ ниже. – Belogix

ответ

3

Самостоятельный хостинг - это возможность размещения вашего веб-API в контролируемой среде (WinForms, Console, Windows Service и т. Д.).

Так, короче говоря, да, вы можете решения Web API самостоятельно хозяевах и вы могли бы сделать это с какой-то код, аналогичный приведенному ниже:

var config = new HttpSelfHostConfiguration("http://localhost:8080"); 

config.Routes.MapHttpRoute(
    "API Default", "api/{controller}/{id}", 
    new { id = RouteParameter.Optional }); 

using (HttpSelfHostServer server = new HttpSelfHostServer(config)) 
{ 
    server.OpenAsync().Wait(); 
    Console.WriteLine("Running on port 8080 - Press Enter to quit."); 
    Console.ReadLine(); 
} 
+0

yu, вероятно, будет размещать этот код в сервисе –

+0

Так что сам хостинг дает мне преимущество доступа к локальному оборудованию. Спасибо u –

+0

Исправьте оба комментария. Я просто показывал, что у вас нет ** HAVE ** для размещения в службе (может быть любой исполняемый файл), но обычно это будет набор служб Windows, который автоматически запускается при запуске Windows и т. Д. – Belogix

2

Самостоятельное хостинг услуг ФОС означает, что вместо того, чтобы полагаться на IIS для запуска вашего сервера вы запускаете службу самостоятельно как хост.

Вот что MSDN говорит о хостах:

Роль ведущего приложения является для запуска и остановки службы, прослушивания запросов от клиентов, направлять эти запросы на службу и отправить ответы обратно на клиентов.

Приложение-хост может быть консольным приложением, службой Windows или чем-либо еще.

Чтобы ответить на ваш вопрос, да, вы могли бы воспользоваться услугой для этой цели.

Смежные вопросы