0

我已经安装asp.net通用供应商,但改变配置后我收到错误“EF运营商需要MultipleActiveResultSets = True以System.Data.SqlClient的连接字符串Asp.net通用供应商的错误

我改变了连接字符串也

下面

是我的连接字符串和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> 

回答

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缓存会话状态提供程序。

0

耶!我得到它的工作!

当一个部署ASP.NET通用供应商的远程网络机器上的不同盒子SQL服务器

,需要“删除”在主web.config中的LocalSqlServer连接,然后有一个虚拟 LocalSqlServer连接Web项目web.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"/>