来自web.config的连接字符串无法读取

时间:2012-07-13 06:48:56

标签: asp.net-mvc wcf entity-framework web-config connection-string

以下是使用WCF服务和EF构建的MVC应用程序的体系结构:

  

MVC应用程序>> WCF服务>>业务逻辑层>>数据访问层>>数据存储

我在数据访问层中创建了MyDbContext,并且它正在与数据库进行交互。

我在MVC应用程序的web.config文件中创建了一个名为MyDbContext的连接字符串。我相信这应该工作,但它试图在我的SQL服务器上创建一个新的数据库。可能是什么原因?或者如果我遗失了什么?

如果我将连接字符串放在WCF服务的web.config中,它可以正常工作。但我相信这应该只是MVC应用程序的一部分,而且WCF不应仅限于使用此connectionstring

2 个答案:

答案 0 :(得分:1)

如果您使用WCF服务访问业务层和数据访问层,则ASP.NET MVC应用程序不应直接访问数据库 - 它甚至根本不了解数据库的存在。这就是你使用WCF服务的原因,不是吗?否则,您可以删除整个WCF服务层并直接从ASP.NET MVC调用业务层。

不会通过WCF调用从MVC应用程序自动传输连接字符串。正确的解决方案是在WCF应用程序中定义连接字符串,因为它是访问数据库的层。

答案 1 :(得分:0)

由于WCF服务托管在同样容纳数据访问层的容器中,因此使用正确的连接字符串对其进行配置是完全合理的。

你为什么不想这样做?