В настоящее время мы работаем над API для существующей системы.Требования к пользовательскому API
Он в основном обертывает некоторые веб-запросы в виде простой в использовании библиотеки, которую сторонние компании должны иметь возможность использовать с нашим продуктом.
В качестве части API существует механизм событий, при котором сервер может перезвонить клиенту через постоянное соединение сокетов.
Чтобы минимизировать нагрузку на сервер, мы хотим иметь только одно подключение на компьютер. В настоящее время для каждого процесса открыт сокет, и это может вызвать проблемы с загрузкой, если у вас есть несколько приложений, использующих API.
Итак, мой вопрос: если мы хотим развернуть наш API как единую автономную сборку, то как лучше всего исправить нашу проблему?
Пару вариантов мы думали:
- Напишите вне процесса COM объекта (не знаю, если это работает в .NET)
- Включите второй файл программы, которые потребуются для проведения мероприятий , она должна была бы самой единственной инстанции, и открыть именованный канал или что-то для общения через несколько процессов
- Extract этот исполняемый файл из внедренного ресурса и не выполнить его
None из тех, которые действительно кажутся идеальными.
Любые лучшие идеи?
Как насчет службы Windows, работающей в фоновом режиме? – dtb
Это похоже на развертывание exe вместе с сборкой, но для этого потребуется больше работы. Мы надеялись, что сторонняя сторона сможет развернуть приложение, используя наш API, просто ссылаясь на сборку. Мы могли бы завершить этот маршрут и создать модуль msi/merge, который третьи стороны должны были бы установить вместе со своим приложением. – jonathanpeppers
@Jonathan: не повторяйте в заголовке теги («C# .Net»). –