我正在使用nopCommerce,我需要刪除settings.txt文件中的連接字符串並插入web.config文件。我怎樣才能做到這一點?更改nopCommerce的連接字符串?
回答
請下Nop.Web項目添加到您的web.config:
<connectionStrings>
<add name="MyConnectionString"
connectionString="Data Source=serverName;Initial Catalog=DBName;Persist Security Info=False;UserID=userName;Password=password"
</connectionStrings>
問候。
將連接字符串移出settings.txt並移入web.config最直接的方法是修改Nop.Core.Data.DataSettingsManager
。具體爲LoadSettings()
和SaveSettings()
方法。只要這兩種方法讀取和寫入配置,就可以將連接字符串存儲在任何需要的位置(理想情況下在web.config中)。
的DataSettingsManager
更新,以支持存儲在web.config中的連接字符串的一個粗略的例子可以在這個要點中找到:http://git.io/vUPcI只需連接字符串從SETTINGS.TXT複製到web.config文件並命名連接「DefaultConnection」或相應地調整代碼。
除了將連接添加到web.config之外,還必須指定providerName =「sqlserver」。
特異);初始目錄=;集成 安全性= FALSE;用戶ID =;密碼=;連接 超時= 30;加密=真」 的providerName = 「SQLSERVER」/>
這是因爲在EfDataProviderManager有Nop.Data對提供者的名稱進行檢查,如果你把正常
的providerName =「System.Data.SqlClient的」
將拋出一個異常
這是非常重要的。在上面的其他答案中,我沒有注意到連接字符串中的細微差別,並使用了典型的providerName。 –
只是做兩步
更換二方法
LoadSettings
和\nopCommerce\Libraries\Nop.Core\Data\DataSettingsManager.cs
SaveSettings
。從@Stephen Kiningham/// <summary> /// Load settings /// </summary> /// <param name="filePath">File path; pass null to use default settings file path</param> /// <returns></returns> public virtual DataSettings LoadSettings(string filePath = null) { try { System.Configuration.Configuration webConfig = WebConfigurationManager.OpenWebConfiguration(HttpRuntime.AppDomainAppVirtualPath); return new DataSettings { DataConnectionString = webConfig.ConnectionStrings.ConnectionStrings["DefaultConnection"].ConnectionString, DataProvider = webConfig.ConnectionStrings.ConnectionStrings["DefaultConnection"].ProviderName }; } catch (NullReferenceException) { return new DataSettings(); } } /// <summary> /// Save settings to a file /// </summary> /// <param name="settings"></param> public virtual void SaveSettings(DataSettings settings) { if (null == settings) throw new ArgumentNullException("settings"); System.Configuration.Configuration webConfig = WebConfigurationManager.OpenWebConfiguration(HttpRuntime.AppDomainAppVirtualPath); webConfig.ConnectionStrings.ConnectionStrings["DefaultConnection"].ConnectionString = settings.DataConnectionString; webConfig.ConnectionStrings.ConnectionStrings["DefaultConnection"].ProviderName = settings.DataProvider; webConfig.Save(); }
的鏈接代碼添加連接字符串到您的web配置的web.config
<connectionStrings> <add name="DefaultConnection" connectionString=" Data Source=localhost;Initial Catalog=nopcommerce;Integrated Security=True;Persist Security Info=False" providerName="sqlserver"> </add> </connectionStrings>
- 1. 更改連接字符串
- 2. 更改連接字符串
- 3. 更改連接字符串
- 4. 更改MembershipProvider中的連接字符串
- 5. 動態更改連接字符串
- 6. 更改連接字符串在C#.NET
- 7. 動態更改ProfileProvider連接字符串
- 8. 更改連接字符串petapoco
- 9. 更改連接字符串值在app.config
- 10. IIS更改WebApi連接字符串
- 11. 修改連接字符串
- 12. 更新連接字符串
- 13. 更改連接字符串不會更改數據庫?
- 14. 當不能連接到第一個連接字符串時,C#更改爲不同的連接字符串
- 15. 鏈接表ms訪問2010更改連接字符串
- 16. 更改VBA ADODB連接字符串,需要更具體
- 17. 在web.config更新後,Edmx連接字符串不會更改
- 18. 字符串字符連接
- 19. 更改連接字符串上的服務器的名稱
- 20. 在C#中使用字符串連接的字符串連接
- 21. 連接字符串沒有被修改
- 22. 字符串連接
- 23. 連接字符串
- 24. 字符串連接?
- 25. 連接字符串
- 26. 連接字符串
- 27. 連接字符串:
- 28. 連接字符串
- 29. 字符串連接
- 30. 連接字符串
有什麼*您*試過嗎?更清楚地「刪除」連接字符串 - 這是否意味着你想編程*編輯*該文本文件? –
如果我想要做的是改變我如何與數據庫通信的方式,如在nopCommerce中的連接字符串是在settings.txt文件中,而不是在web.config –