ASP.NET站点web.config报错:初始化字符串格式不符合规范(索引0处)
错误原因
- 连接字符串内容非法:
connectionStrings节点下LocalMySqlServer的连接字符串值为c1,完全不符合MySQL连接字符串的格式要求,这是触发「初始化字符串从索引0处开始不符合规范」报错的直接原因。 - 连接字符串名称不匹配:
membership会员提供器配置中引用的连接字符串名称为mycon,但你当前的配置文件中未定义该名称的连接字符串,也会导致提供器初始化失败。
解决方案
- 先修正连接字符串内容,替换为符合规范的MySQL连接字符串,标准格式如下:
server=数据库服务地址;port=数据库端口(默认3306);user id=数据库登录账号;password=数据库登录密码;database=目标数据库名称;Charset=utf8; - 统一连接字符串引用关系,二选一即可:
- 方案A:将
membership节点下MySQLMembershipProvider配置的connectionStringName属性值从mycon修改为LocalMySqlServer - 方案B:在
connectionStrings节点下新增名称为mycon的合法连接字符串配置
- 方案A:将
修正配置示例
<!-- connectionStrings节点修正示例 --> <connectionStrings> <remove name="LocalMySqlServer" /> <add connectionString="server=127.0.0.1;port=3306;user id=root;password=你自己的数据库密码;database=你的业务数据库名;Charset=utf8;" name="LocalMySqlServer" providerName="MySql.Data.MySqlClient" /> <!-- 选择方案B的话新增下面这行 --> <add connectionString="和上面相同的连接字符串内容" name="mycon" providerName="MySql.Data.MySqlClient" /> </connectionStrings> <!-- 选择方案A的话修正membership节点的引用 --> <membership defaultProvider="MySQLMembershipProvider"> <providers> <remove name="MySQLMembershipProvider" /> <add applicationName="/" connectionStringName="LocalMySqlServer" enablePasswordReset="true" enablePasswordRetrieval="false" maxInvalidPasswordAttempts="5" minRequiredNonalphanumericCharacters="1" minRequiredPasswordLength="7" name="MySQLMembershipProvider" passwordAttemptWindow="10" passwordFormat="Clear" passwordStrengthRegularExpression="" requiresQuestionAndAnswer="true" requiresUniqueEmail="false" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=8.0.26.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> </providers> </membership>
内容的提问来源于stack exchange,提问作者MacMax
相关产品推荐
相关产品推荐

