Как я создаю поток, который работает все время в фоновом режиме на веб-сайте .NET?

Я хотел бы убедиться в целостности данных в этом процессе.

Если вы заинтересованы в обеспечении целостности сообщения во время транспортировки, использование TLS (ssl, https) поможет в большинстве случаев. Если вам нужна сквозная защита (подписанное, зашифрованное сообщение) между другими компонентами (kafka-> Java), вам нужно будет подписать сообщение. В большинстве случаев вы должны быть в порядке с первым вариантом (https).

Может ли это быть достигнуто простым способом (без сертификатов или ключей)?

PKI (сертификаты и ключи) позволяет нам гарантировать целостность и конфиденциальность без жесткого кодирования секретов (которые не очень мудрый для мобильных приложений). У вас уже есть готовые библиотеки для SSL, так что считайте это «простым способом». Создание собственного протокола для подписи и проверки сообщений является только более сложным и, возможно, менее безопасным.

Я хотел бы знать, каков наилучший способ (алгоритм и практика) для шифрования и дешифрования между системами.

Для базовой безопасности транспорта я бы предложил использовать TLS, вам все равно нужно аутентифицировать пользователя (имя пользователя, пароль?), Чтобы гарантировать идентичность клиента. TLS обеспечивает безопасный канал до точки завершения SSL (сервер https, слушатель kafka и т. Д.).

Если вам нужна сквозная защита (подписанное, зашифрованное сообщение) между другими компонентами (kafka-> Java), существуют некоторые стандарты для шифрования и подписи сообщений, такие как WS-Security для веб-служб или вы можете использовать подписанные и зашифрованные JWT для передачи сообщений.

Однако - вам придется безопасно обмениваться ключами между клиентом и проверяющим бэкэндом (с отдельной службой или некоторым протоколом обмена ключами).

5
задан Spence 5 February 2009 в 12:40
поделиться

2 ответа

Добавьте global.asax файл к своему проекту веб-сайта.

Это даст Вам четыре обработчика событий, один из которых используется когда Вы загрузки приложения.

Можно исчерпать поток здесь.

Кроме того, я рекомендую установить потоки на фон так, чтобы Вы могли сделать, чтобы они исчезли, при закрытии веб-приложения.

System.Threading.Thread.CurrentThread.IsBackground = true;
5
ответ дан 14 December 2019 в 04:49
поделиться

Идеально необходимо создать службу Windows, чтобы сделать это. Другое предложение создания потоков от запуска приложения прекрасно до Вас, веб-сервер перезагружается.

В той точке не будет начата Ваша фоновая задача, пока следующий человек не посещает сайт. Со службой Windows фоновые задачи начнут работать снова, как только сервер загружается.

Создание использования службы Windows, .NET является довольно прямым, конечно, намного легче, чем он, было перед .NET:

http://www.codeproject.com/KB/system/WindowsService.aspx

Вы могли, конечно, уклониться от другого решения, заставив что-то работать для удара веб-сайта после начальных загрузок сервера, но это - hacky, и "надлежащим" путем является служба Windows.

Править:

Это будет учить меня читать вопрос правильно, не определил требование о работе над дешевым общим хостом. Другое решение является, вероятно, лучшим, на который можно надеяться в этом случае, поскольку подход службы Windows почти наверняка не возможен.

3
ответ дан 14 December 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: