Веб-сервис на ASP.NET и его админка (виндовое приложение) — это два разных приложения, или можно уместить в одно?
Есть задача, описанная в заголовке.
Должен быть сервис, который торчит наружу (пусть и в пределах одного предприятия) и к этому сервису нужна админка (добавление/удаление пользователей, поиск по логам, отключение/включение этого сервиса итд).
Я с ASP.NET раньше не работал, сейчас попробовал написать простенький сервис и тут же, в рамках этого же приложения, сделать ему небольшой GUI. Получилось, но было похоже на (не)большое извращение.
Мне кажется, что тут, по уму, должно быть 2 приложения, собственно, сам веб-сервис и его админка.
Есть только один вопрос, можно ли (и как) запустить приложение веб-сервиса из админки?
Просто вызвать Main проекта веб-сервиса не получилось (логично). Есть ли какой-то вариант запустить веб-сервис кроме как просто запустить его exe файл?
Логичнее выглядит делать это все в одном приложении.
Вы разворачиваете одно веб-приложения и уже внутри него для обычных пользователей доступен обычный функционал, а для админов расширенный.
Если вы будете использовать виндовс приложения, то администраторам придется постоянно высылать актуальную версию программы, если произошли какие-то изменения в функционале админки.
Про запуск веб-приложения. Это достаточно трудно затратная операция. Обычно веб-сервис вы разворачиваете и он всегда работает. А в самом приложении вы можете реализовать блокировку входа в систему для обычных пользователей, через админку.
Если конечно задача стоит именно остановить сайт в Win Server в IIS, то есть пример. В данном случае без второго приложения тут не обойтись.
Вы пытаетесь реализовать трех-звенную (в вашем случае четырехзвенную, которая на самом деле должна быть трехзвенной хДД) архитектуру.
Не пытайтесь впихнуть невпихуемое. Сделайте основной сервис для которого все остальное будет являться клиентами. Будет вам счастье. На чем он будет и как реализован - вобще не принципиально. Хоть явовский спринг возьмите - оно все совместимо на уровне протоколов.
Зачем вам виндовое приложение для админки веб-сервиса, когда на винде есть браузер или даже несколько? Они тоже программы windows. И очень даже GUI.
Просто напишите веб-сервис, морду пользователя и морду админа.
А по уму сервис на пользователя должен быть отделен от административной части, т.е. вообще в себе не нести ни байта административного кода типо такого: