none
关于Web Parts的问题 RRS feed

  • 问题

  • 大家好,我在VS里面WebParts项目时出现如下错误:

    在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错)

    删除WebPartManager1组件后调试又正常了.请问大家有人遇到过这样的问题没?求解

    • 已移动 ThankfulHeart 2012年9月12日 2:44 ASP.NET控件问题 (发件人:Visual C#)
    2012年9月12日 2:36

全部回复

  • 原因是WebParts默认绑定了Memebership的验证策略,你可以在Web.Config文件中对其进行修改,方法有两个,但是推荐使用后者:

    方法1:

    <connectionStrings>
        <remove name="LocalSqlServer"/>
        <add name="LocalSqlServer" connectionString="你的数据库连接字符串"/>
    </connectionStrings>

    原理:Web.Config文件继承自服务器中的machine.config,machine.config中,包含如下配置:

    <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>

    用来指定ASP.Net默认指向的服务器,所以在web.config文件中可以移除该配置,并重新追加

    方法2:

    配置Membership内容

    <membership>
          <providers>
            <clear />
            <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="连接字符串的Name" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
          </providers>
        </membership>
        <roleManager enabled="false">
          <providers>
            <clear />
            <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
            <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
          </providers>
        </roleManager>

    配置中需要根据具体需求改变配置中的值,可以参考system.web.security.membershipprovider类中的属性来配置

    Ps.其实还有其它的解决办法,例如自定义Membership提供程序类等,希望对你有帮助

    2012年10月22日 3:09