我正在开发解决方案,其中有三个webapi项目。 它们每个都通过JWT令牌机制进行保护。 到目前为止,webapis不需要进行通信。最终,它们将分别部署在azure上,并且将使用相同的数据库。
我可以生成具有无限寿命的令牌并将其存储在数据库中的某个位置,但是有些事情告诉我这不是解决此问题的正确方法。
任何帮助将不胜感激。
问题:除了生成具有无限寿命的令牌外,如何允许他们以其他方式进行交流?
答案 0 :(得分:1)
听起来像SQL Dependencies的用例。 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依赖项时要小心,因为它们会像人们认为的那样更加耗时/昂贵,因此请尽量减少它们