用于在IIS上部署的连接字符串转换

本文关键字:连接 字符串 转换 部署 IIS 用于 | 更新日期: 2023-09-27 18:12:34

我是WCF的新手,我已经创建了一个WCF服务和一个数据库,通过使用LINQ来写。在我的网里。配置文件,它仍然使用标准的连接字符串(我不真正理解的连接字符串的内容)

connectionString="Data Source=(LocalDB)'v11.0;AttachDbFilename=|DataDirectory|'jarvis.mdf;Integrated Security=True"

,在创建数据库时自动生成。我的WCF接口有以下操作契约:

[WebGet(UriTemplate = "Add", ResponseFormat = WebMessageFormat.Json)]
    string Add();

当我使用"http://localhost:58632/WCFService.svc/Add"在本地机器上运行WCF时,我完美地写入了DB,没有任何问题。(可能是因为连接字符串意味着本地连接)

当我尝试在IP为10.0.0.14的服务器上部署应用程序并运行http://10.0.0.14/Service/WCFService/Add时,它不允许我写入DB。我认为这是由于连接字符串,但我不确定。

我在IIS上部署的过程是"

"
1. Right click on the solution and select Publish...
2. Select Connection and the publish Method is Web Deploy Package
3. I go to the Package location and go in to the zip file to get the content.
4. Place the content in the wwwroot/Service folder, then I attempt to write.

我该如何去改变连接字符串,以便我可以写到数据库时,WCF部署在IIS上,必须在运行WCF的服务器上安装SQL Server ?我不想使用外部库或应用程序,如SlowCheetah

用于在IIS上部署的连接字符串转换

您有部署的配置转换吗?

一个典型的项目在根目录下有一个web.config文件,web.Debug.configweb.Release.config文件在下面。

您可以在部署时使用这些转换文件来更改连接字符串。编辑:如果您使用"Release"构建配置进行部署,那么将使用web.Release.config转换,等等。此外,仅为部署时需要更改的配置项定义转换。http://msdn.microsoft.com/en-us/library/dd465326%28v=vs.110%29.aspx

连接字符串"数据源"属性需要更新,以指向数据库运行的位置。如果它是另一个服务器,那么将服务器主机名放在那里。如果它应该与WCF服务运行在同一台服务器上,那么您需要在该服务器上安装SQL。