Я не прошу совета по лучшей практике, так как есть многочисленные сообщения в блогах и учебные пособия по этой теме по всему Интернету.
Я прошу из-за путаницы, так как Microsoft сделала много изменений во всей процедуре самостоятельного хостинга, и каждый учебник, который я нашел, использует другой, устаревший или незнакомый подход.
Моя цель - создать самообслуживаемый веб-API в устаревшей службе Windows для управления различными долгосрочными задачами от клиента, отличного от Windows, например, приложения для Android, где интеграция WCF/SOAP-клиента действительно может быть PITA.
Мне известно о том, что WCF может предлагать услугу RESTful, но поскольку веб-API действительно подходит для такой задачи, я думал, что сделал это.
Вот как я сейчас запускаю свой API, используя OWIN (Katana):
public class ApiBootstrap {
var httpConfiguration = new HttpConfiguration();
// ... configure routes etc.
appBuilder.UseWebApi(httpConfiguration); // appBuilder = IAppBuilder
var disposable = WebApp.Start<ApiBootstrapper>(_myBaseUri);
}
Но большинство руководств идут по другому подходу:
var config = new HttpSelfHostConfiguration("http://localhost:999");
// ... configure routes etc..
var server = new HttpSelfHostServer(config);
server.OpenAsync().Wait();
Теперь я понимаю, что класс HttpSelfHostServer
от System.Web.Http.SelfHost
и не использует OWIN, и оба работают нормально.
Но я боюсь в течение нескольких дней, чтобы достичь очень простых задач, таких как обеспечение соединения с использованием SSL, создание авторизации и т.д., только потому, что каждый учебник, который я нахожу в этих темах, ссылается на собственный метод, не использующий OWIN. Но AFAIK, OWIN (Katana) - это предпочтительный подход Microsoft для достижения собственного хостинга.
Как новичок, я совершенно смущен и беспомощен!
Изменить: 4 upvotes, 1 fav и 30 просмотров всего за 6 минут, но ответа еще нет. Не могу сказать, если я делаю здесь гениальный кофе или если это просто невероятный тупой вопрос.