2015-10-30 54 views
0

我的问题显然与我的web.config文件早些时候:HTML button sending input text data to ASP side。我解决了它实际上installing the System.Web.Providers package。但是,当我再次运行我的代码时,我得到了this screen。它说,这:Config section 'system.web/profile' already defined. Sections must only appear once per config file. See the help topic <location> for exceptions配置部分'system.web/profile'已经定义

这里是我的web.config:

<?xml version="1.0" encoding="utf-8"?> 
<!-- 
    For more information on how to configure your ASP.NET application, please visit 
    http://go.microsoft.com/fwlink/?LinkId=169433 
    --> 
<configuration> 
    <configSections> 
     <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 
     <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
    </configSections> 
    <system.web> 
     <authentication mode="Forms" /> 
     <compilation debug="true" targetFramework="4.0" /> 
     <profile defaultProvider="AspNetSqlProfileProvider"> 
      <providers> 
       <clear /> 
       <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" applicationName="/" /> 
      </providers> 
     </profile> 
     <membership defaultProvider="DefaultMembershipProvider"> 
      <providers> 
      <clear /> 
      <add connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
      <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" /></providers> 
     </membership> 
     <roleManager enabled="true" defaultProvider="DefaultRoleProvider"> 
      <providers> 
       <clear /> 
       <add connectionStringName="LocalSqlServer" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
       <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> 
      </providers> 
     </roleManager> 
     <!-- 
       If you are deploying to a cloud environment that has multiple web server instances, 
       you should change session state mode from "InProc" to "Custom". In addition, 
       change the connection string named "DefaultConnection" to connect to an instance 
       of SQL Server (including SQL Azure and SQL Compact) instead of to SQL Server Express. 
      --> 
     <!-- 
       If you are deploying to a cloud environment that has multiple web server instances, 
       you should change session state mode from "InProc" to "Custom". In addition, 
       change the connection string named "DefaultConnection" to connect to an instance 
       of SQL Server (including SQL Azure and SQL Compact) instead of to SQL Server Express. 
     --> 
     <sessionState mode="Custom" customProvider="DefaultSessionProvider"> 
      <providers> 
       <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="LocalSqlServer" /> 
      </providers> 
     </sessionState> 
     <profile defaultProvider="DefaultProfileProvider"> 
      <providers> 
       <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> 
      </providers> 
     </profile> 
     <sessionState mode="InProc" customProvider="DefaultSessionProvider"> 
      <providers> 
       <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" /> 
      </providers> 
     </sessionState> 
    </system.web> 
    <entityFramework> 
     <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
      <providers> 
       <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
      </providers> 
    </entityFramework> 
    <connectionStrings> 
     <remove name="LocalSqlServer" /> 
      <add name="LocalSqlServer" connectionString="Data Source=roosterdbdev;Database=RoosterDatabase;User Id=; Password=;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
</configuration> 

,显然,这个问题是与线50:<profile defaultProvider="DefaultProfileProvider">。但是,当我评论这一点时,它会抱怨它之前的第一个标签。

我该如何解决这个问题?

+0

你显然在你的web.config中定义了两个 “” 标签.. <轮廓defaultProvider = “AspNetSqlProfileProvider” > 和 Vinay

+0

我可能应该提到我正在使用Microsoft Visual Studio Ultimate 2013(尽管如此,我不知道这很重要)。 –

回答

0

您有两个<profile ...>和两个<sessionState ...>部分。

删除这些,看看它是怎么回事。

<profile defaultProvider="AspNetSqlProfileProvider"> 
    <providers> 
      <clear /> 
      <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" applicationName="/" /> 
    </providers> 
</profile> 

再往下

<sessionState mode="Custom" customProvider="DefaultSessionProvider"> 
    <providers> 
      <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="LocalSqlServer" /> 
    </providers> 
</sessionState> 

完整版如下

<?xml version="1.0" encoding="utf-8"?> 
<!-- 
    For more information on how to configure your ASP.NET application, please visit 
    http://go.microsoft.com/fwlink/?LinkId=169433 
    --> 
<configuration> 
    <configSections> 
     <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 
     <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
    </configSections> 
    <system.web> 
     <authentication mode="Forms" /> 
     <compilation debug="true" targetFramework="4.0" /> 
     <profile defaultProvider="AspNetSqlProfileProvider"> 
      <providers> 
       <clear /> 
       <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" applicationName="/" /> 
      </providers> 
     </profile> 
     <membership defaultProvider="DefaultMembershipProvider"> 
      <providers> 
      <clear /> 
      <add connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
      <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" /></providers> 
     </membership> 
     <roleManager enabled="true" defaultProvider="DefaultRoleProvider"> 
      <providers> 
       <clear /> 
       <add connectionStringName="LocalSqlServer" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
       <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> 
      </providers> 
     </roleManager> 
     <!-- 
       If you are deploying to a cloud environment that has multiple web server instances, 
       you should change session state mode from "InProc" to "Custom". In addition, 
       change the connection string named "DefaultConnection" to connect to an instance 
       of SQL Server (including SQL Azure and SQL Compact) instead of to SQL Server Express. 
      --> 
     <!-- 
       If you are deploying to a cloud environment that has multiple web server instances, 
       you should change session state mode from "InProc" to "Custom". In addition, 
       change the connection string named "DefaultConnection" to connect to an instance 
       of SQL Server (including SQL Azure and SQL Compact) instead of to SQL Server Express. 
     --> 
     <profile defaultProvider="DefaultProfileProvider"> 
      <providers> 
       <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> 
      </providers> 
     </profile> 
     <sessionState mode="InProc" customProvider="DefaultSessionProvider"> 
      <providers> 
       <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" /> 
      </providers> 
     </sessionState> 
    </system.web> 
    <entityFramework> 
     <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
      <providers> 
       <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
      </providers> 
    </entityFramework> 
    <connectionStrings> 
     <remove name="LocalSqlServer" /> 
      <add name="LocalSqlServer" connectionString="Data Source=roosterdbdev;Database=RoosterDatabase;User Id=blah; Password=blah;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
</configuration> 
+0

我发表了一条评论,然后代码在第55行上抱怨''我评论说已经标记出来了,然后我回到了第1位(尽管我已经安装了'System.Web.Providers' already! –

+0

您也有两个''节。我已更新答案 – Kirk

+0

您的解决方案对我无效:http://imgur.com/XztFpyX –