在同一解决方案中访问API

时间:2019-03-22 13:22:24

标签: c# asp.net asp.net-mvc azure asp.net-core

我正在开发解决方案,其中有三个webapi项目。 它们每个都通过JWT令牌机制进行保护。 到目前为止,webapis不需要进行通信。最终,它们将分别部署在azure上,并且将使用相同的数据库。

我可以生成具有无限寿命的令牌并将其存储在数据库中的某个位置,但是有些事情告诉我这不是解决此问题的正确方法。

任何帮助将不胜感激。

问题:除了生成具有无限寿命的令牌外,如何允许他们以其他方式进行交流?

1 个答案:

答案 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依赖项时要小心,因为它们会像人们认为的那样更加耗时/昂贵,因此请尽量减少它们