Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在类中嵌入连接字符串?_C#_Sql_Asp.net Mvc_Mef - Fatal编程技术网

C# 如何在类中嵌入连接字符串?

C# 如何在类中嵌入连接字符串?,c#,sql,asp.net-mvc,mef,C#,Sql,Asp.net Mvc,Mef,我现在正在做一个C#MVC项目,通过MEF实现了一个基本的插件架构。插件及其相应部分通过web界面上传,并放置在插件文件夹中,然后在应用程序启动时发现它们 一些插件需要访问外部数据库(而不是主数据库)的数据。当应用程序上线时,我将无法轻松更改主应用程序的web.config文件 所以我的问题是如何将连接字符串直接嵌入到我的插件类中 有几个想法: 1) 只需硬编码即可: 缺点:我认为您关心的是动态更改连接字符串。所以这对你需要的东西不起作用 2) 在可访问的共享驱动器上存储另一个配置文件。 Pro

我现在正在做一个C#MVC项目,通过MEF实现了一个基本的插件架构。插件及其相应部分通过web界面上传,并放置在插件文件夹中,然后在应用程序启动时发现它们

一些插件需要访问外部数据库(而不是主数据库)的数据。当应用程序上线时,我将无法轻松更改主应用程序的web.config文件

所以我的问题是如何将连接字符串直接嵌入到我的插件类中

有几个想法:

1) 只需硬编码即可: 缺点:我认为您关心的是动态更改连接字符串。所以这对你需要的东西不起作用

2) 在可访问的共享驱动器上存储另一个配置文件。 Pro:让我们动态更改连接字符串。 缺点:这不是安全的最佳选择

3) 使用经过身份验证的web服务。启动时,调用web服务(可能每小时调用一次,或者在连接失败时调用一次),以获取连接字符串。 Pro:这允许您动态更改连接字符串。 赞成:这可以通过安全性来实现


在这三种选择中,第三种似乎最适合你的需要。但是这些都是我想不起的。

我可以将连接字符串存储在数据库中,但我仍然必须在插件中直接引用它,而不必修改核心应用程序的web.config;因此问题就来了。请记住,除了我在前端添加的功能(如加载插件)之外,我将无法访问应用程序正在运行的服务器。嗨,用户3861788,你能帮我回答这个问题吗?听起来你可以用MVC和MEF构建一个插件框架。您是否有一个管理员设置页面,可以在其中启用和禁用插件?