Nirman
Nirman

Reputation: 6793

Connection string from web.config does not get read

Following is the architecture of my MVC application that is built using WCF service and EF:

MVC application >> WCF Service >> Business Logic Layer >> Data access layer >> Data Store

I have created MyDbContext in Data Access layer, and it's interacting with the database.

I have created a connection string in web.config file of MVC application with the name MyDbContext. I believe this should work, but instead it is trying to create a new database on my sql server. What can be the reason? Or if I am missing anything?

If I put the connection string in web.config of WCF service, it works fine. but I believe this should be part of MVC application only, and WCF shouldn't be limited to using this connectionstring only.

Upvotes: 0

Views: 1077

Answers (2)

Ladislav Mrnka
Ladislav Mrnka

Reputation: 364409

If you are using WCF service to access business layer and data access layer your ASP.NET MVC application should not access the database directly - it should even don't know about database existence at all. That is the reason why you are using WCF service, isn't it? Otherwise you can delete whole your WCF service layer and call the business layer directly from ASP.NET MVC.

Connection string is not automatically transferred from MVC application through WCF call. The correct solution is to define connection string in WCF application because it is the tier where the database is accessed.

Upvotes: 1

tom redfern
tom redfern

Reputation: 31800

Since the WCF service is hosted in the same container which is also hosting the data access layer then it is entirely reasonable to configure it with the correct connection string.

Why would you not want to do this?

Upvotes: 0

Related Questions