0

我已经安装了 asp.net 通用提供程序,但在更改配置后我收到错误“ EF 提供程序需要 MultipleActiveResultSets=True for System.Data.SqlClient 连接字符串

我也更改了连接字符串

下面是我的连接字符串和 web.config 的会话块,请帮助我

<add name="DbEntities" connectionString="metadata=res://*/Entities.csdl|res://*/Entities.ssdl|res://*/Entities.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=<source>;Initial Catalog=<DB Name>;User ID=<User>;Password=<Password>;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

<add name="StorageConnectionString" connectionString="DefaultEndpointsProtocol=http;AccountName=<Account Name>;AccountKey=<Account Key>" />

  <providers>

    <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="StorageConnectionString" applicationName="/" />

  </providers>

</sessionState>
4

2 回答 2

0

我认为你几乎得到了它,只有一个小错误。当您添加会话状态提供程序时,它应该指向您的 SQL 连接字符串,而不是您的存储连接字符串。

  <providers> 

    <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DbEntities" applicationName="/" /> 

  </providers>

只是一个建议,但您可能需要考虑使用新的 appfabric 缓存会话状态提供程序。

于 2011-08-31T08:39:02.653 回答
0

耶!我让它工作了!

当一个人将 ASP.NET 通用提供程序部署到一台带有 SQL 服务器的远程 Web 机器上时,需要“删除”主 web.config 中的 LocalSqlServer 连接,然后在 web 项目 web 中有一个虚拟的 LocalSqlServer 连接字符串.config。例如

<clear />
<remove name="LocalSqlServer" />
<add name="LocalSqlServer" connectionString="data source=someserver;initial catalog=somedatabase;UID=someuser;PWD=somepassword;multipleactiveresultsets=True" providerName="System.Data.SqlClient"/>
于 2012-08-23T17:58:50.920 回答