Skip to main content
 首页 » 编程设计

c#之ASP Web API 在不同的应用程序实例之间共享代码库

2024年05月10日41傻小

这个问题已经被问过几次了,但我还没有找到针对我的问题的答案。

本质上,我有一个 ASP Web API 应用程序,可以部署任意次数(当前为 50 次),它将连接到不同的数据库。除了 web.config 中的 DB 连接字符串和它所在的虚拟目录外,一切都完全相同。

现在,我们正在使用 web deploy 手动更新所有带有代码更新的子目录。我们已经将它自动化,但它仍然很痛苦,尤其是在出现错误时。

只是想知道是否有一种方法可以将主代码库放在某个地方(比如说网站的根目录),在它下面只有 web.config 的虚拟目录?根据我发现的其他线程,我认为这是不可能的(尽管它们要老得多)。

我试过这样设置,在父站点下有虚拟目录(物理上指向父站点)并在物理子目录中有不同的 web.config,但它什么都不做。

或者,是否有更好的方法在代码中动态生成数据库连接字符串?我不太喜欢这种解决方案,但还有其他方法吗?

谢谢

请您参考如下方法:

我也会在这里寻求 API 中的 Multi-Tenancy 支持。 API 调用的一个入口点有很多优势 - 统计、节流、日志记录等。

制作一个 HTTP 安全模块,根据提供的 API key 选择数据库。重要的是这个映射是安全的并且经过良好测试。

我也会考虑合并到一个数据库中并限制模式或其他东西,但这可能超出了这里的范围......