Asp.net core 2.0条件服务或条件连接字符串

2024-04-24

我正在使用 Asp.net core 2.0 开发 Web api。现在我需要的是使用不同的连接字符串,这些字符串将在用户的标头中指定。

我以前见过这个(不是直接关于这个问题):

        app.Use(async (context, next) =>
        {
            if (string.IsNullOrWhiteSpace(context.Request.Headers["Authorization"]))
            {
                if (context.Request.QueryString.HasValue)
                {
                    var token = context.Request.QueryString.Value
                        .Split('&')
                    .SingleOrDefault(x => x.Contains("authorization"))?.Split('=')[1];

                    if (!string.IsNullOrWhiteSpace(token))
                    {
                        context.Request.Headers.Add("Authorization", new[] { $"Bearer {token}" });
                    }
                }
            }
            await next.Invoke();
        });

但是我应该如何以这样的方式更改连接字符串呢?

我的方向正确吗?

Update

我正在寻找这样的中间件:

        app.Use(async (context, next) =>
        {
            if (!string.IsNullOrWhiteSpace(context.Request.Headers["TestMode"]) && context.Request.Headers["TestMode"] == true)
            {
                // TODO Change the connection string here
            }
            await next.Invoke();
        });

但不知道要在 TODO 中放入什么。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Asp.net core 2.0条件服务或条件连接字符串 的相关文章

随机推荐

  • 如何让浏览器(IE和Chrome)在脚本之前请求图像?

    Note 如果您是第一次阅读本文 您可以直接跳到更新 因为它更准确地解决了问题 所以我得到了一个网页 在头部我有一个 CSS 背景图像 在页面底部我加载我的脚本 由于脚本位于页面底部 CSS 位于页面顶部 我假设浏览器将首先加载图像 然而
  • 使用 ItemsSource 之前,项目集合必须为空

    如果我将 DataTrigger 放入一个简单的列表框中 我会收到此运行时异常 使用 ItemsSource 之前 项目集合必须为空 我的列表框没有数据触发 也不例外
  • 删除父级 DIV

    我有这个html代码 div class action some text a class delete action some a div div class action some text a class delete action
  • 将 r 中的数据帧转换为事务或 itemMatrix?

    我有一个数据data frame我想将其转换成的格式transactions or an itemMatrix 检查功能arules支持这两种数据格式这就是我问这个问题的原因 library arules 示例 1 从矩阵创建交易 a ma
  • 如何在primeng自动完成角度8中对建议嵌套列表进行分组

    我正在尝试对自动完成建议进行分组 并希望在 primeng 中呈现它们 我们如何在primeng中添加自定义模板 my data data id m1 name menu1 val D items id d1 name datanested
  • 修复重载运算符“+”的使用不明确?

    我使用 C 11 标准编写了以下代码 h file include Auxiliaries h class IntMatrix private Dimensions dimensions int data public int size c
  • Cocoa 脚本:返回“null”与“缺失值”

    看来 AppleScript 知道这个特殊值null 如何从基于 Cocoa 脚本的应用程序中为可编写脚本的属性返回这样的值 如果我回来nil NULL or NSNull对于来自我的基于 Cocoa 脚本的应用程序的可编写脚本的属性 ge
  • Bootstrap 右栏位于移动视图顶部

    我有一个像这样的引导页面 div class row div class col md 6 A div div class col md 6 B div div 好像 A B 因此 如果我在移动设备上查看它 A 列位于顶部 但我希望 B 列
  • 正则表达式大于零,保留 2 位小数

    我需要一个正则表达式来表示最多两位小数大于零的数值 并且个数列中可能有也可能没有零 我还应该添加 整数就可以了 请参阅下面的一些内容 但可能存在前导或尾随空格 Good values 1 0 1 1 12 123 12 92 092 092
  • 修复无效 JSON 的正则表达式

    我正在对服务进行 API 调用 但它返回无效的 JSON photo url 字段没有将 url 封装在引号中 我将它作为字符串 并尝试编写一个正则表达式来在 url 周围添加引号 我使用 Titanium 在 Javascript 中完成
  • XAMPP - 对于表“users”,用户“@”localhost”的 SELECT 命令被拒绝

    不久前 我删除并弄乱了 XAMPP 中的一些功能 我重新安装了它 并移动 重命名了我的文件夹和所有其他文件 所以我现在有了一个新的空的 xampp 目录 但是 当我尝试使用任何数据库功能时 它会出现如下错误 SELECT command d
  • Redis hash写入速度非常慢

    我面临一个非常奇怪的问题 使用 Redis 时 我的写入速度非常糟糕 在理想的情况下 写入速度应该接近 RAM 上的写入速度 这是我的基准 package redisbenchmark import redis clients jedis
  • AngularFireDatabase 不检索数据

    每当我使用 afDB list path 方法时 我都会得到以下信息 console log this items https i stack imgur com RtwkN png 我有这个例子作为我的 firebase 数据库 列表文件
  • 如何在ZF2控制器中获取baseUrl?

    在我的 zf2 控制器中 我想检索应用程序基本 URL 例如http example com 我尝试了以下调用 但它返回一个空字符串 this gt request gt getBasePath 我怎样才能得到http example co
  • QNetworkManager 默认情况下是否接受压缩回复?

    我在用Q网络管理器 https doc qt io qt qnetworkaccessmanager html从服务器获取文件 但是我不知道文件在传输过程中是否使用标准 gzip 压缩进行压缩 如果不是 如何让它们下载压缩文件 我该如何去检
  • C# 中密封类的扩展方法

    我有这个sealed class public sealed class A public string AName get set 有人可以为它编写一个扩展方法 如下所示 public static class Extensions pu
  • 如果我解决了冲突,Git 的责备会改变吗?

    我试图弄清楚合并冲突是否导致了错误 但我遇到了困难 因为我不清楚冲突解决如何影响git blame 假设我在 master 中有一个文件 a b c 我在master中修改 a d c 但同事也是如此 他们在一个单独的分支中以不同的方式对其
  • 如何将输入作为 stdin 通过管道传输到 src_block ?

    考虑 org babel 中的以下 perl 片段 它使用
  • 点击时反应获取id值

    我有以下内容 var SingleEditableModule React createClass show overlay function e console log e target attr id render function v
  • Asp.net core 2.0条件服务或条件连接字符串

    我正在使用 Asp net core 2 0 开发 Web api 现在我需要的是使用不同的连接字符串 这些字符串将在用户的标头中指定 我以前见过这个 不是直接关于这个问题 app Use async context next gt if