#c# #asp.net #asp.net-mvc #azure #asp.net-core
#c# #asp.net #asp.net-mvc #azure #asp.net-core
Вопрос:
Я разрабатываю решение, в котором есть три проекта webapi. Каждый из них защищен механизмом токенов JWT. До сих пор webapis не нуждался в общении. Наконец, они будут развернуты в Azure отдельно и будут использовать одну и ту же базу данных.
Я мог бы сгенерировать токен с бесконечным сроком службы и сохранить его где-нибудь в базе данных, но что-то подсказывает мне, что это неправильный способ решения этой проблемы.
Любая помощь будет оценена.
Вопрос: Как разрешить им обмениваться данными другим способом, кроме генерации токена с бесконечным сроком службы?
Комментарии:
1. Каков ваш актуальный вопрос?
2. «До сих пор webapis не нуждался в общении. Наконец, они будут развернуты в Azure отдельно и будут использовать одну и ту же базу данных «. так они все еще не обмениваются данными друг с другом? В чем именно заключается ваш вопрос?
3. Теперь им нужно взаимодействовать между собой.
4. И как они будут взаимодействовать друг с другом?
5. С использованием http-запросов, но если есть лучшие способы, я могу внести изменения.
Ответ №1:
Звучит как вариант использования для зависимостей SQL. Зависимость SQL позволяет вам подписаться на событие, которое запускается, когда результат выполнения команды отличается. Что-то вроде этого:
// I'll assume that a connection is already open
using (var command = new SqlCommand("SQL Command goes here")
{
var dependency = new SqlDependency(command);
dependency.OnChange = (object sender, SqlNotificationEventArgs e) =>
{
// Handle OnChange here
Console.WriteLine(e.Info);
}
// You can do all the things with the SQL Command here as you normally could
// for example execute it if it's a SELECT and read data
}
Будьте осторожны при использовании зависимостей SQL, поскольку они немного более трудоемкие / дорогие, чем можно было бы подумать, поэтому постарайтесь свести их к минимуму