且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

更改nopCommerce的连接字符串?

更新时间:2023-11-15 11:30:28

只需执行两个步骤


  1. \中替换两个方法 LoadSettings SaveSettings \nopCommerce\库\Nop.Core\数据\DataSettingsManager.cs 。来自@Stephen Kiningham的链接的代码

  1. Replace two method LoadSettings and SaveSettings in \nopCommerce\Libraries\Nop.Core\Data\DataSettingsManager.cs. Code from link of @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

  • Add connection string to your web config web.config

    <connectionStrings>
        <add name="DefaultConnection"
             connectionString=" Data Source=localhost;Initial Catalog=nopcommerce;Integrated Security=True;Persist Security Info=False"
             providerName="sqlserver">
        </add>
    </connectionStrings>