用于在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
。
您有部署的配置转换吗?
一个典型的项目在根目录下有一个web.config
文件,web.Debug.config
和web.Release.config
文件在下面。
您可以在部署时使用这些转换文件来更改连接字符串。编辑:如果您使用"Release"构建配置进行部署,那么将使用web.Release.config转换,等等。此外,仅为部署时需要更改的配置项定义转换。http://msdn.microsoft.com/en-us/library/dd465326%28v=vs.110%29.aspx
连接字符串"数据源"属性需要更新,以指向数据库运行的位置。如果它是另一个服务器,那么将服务器主机名放在那里。如果它应该与WCF服务运行在同一台服务器上,那么您需要在该服务器上安装SQL。