我在MVC4中使用的应用程序直到现在才托管在单个服务器上。会议的处理方式如下:
<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" />
</providers>
现在,我想将此应用程序移植到Azure,当然,还要支持多个实例。我阅读了很多博客,我可以找到使用AppFabric,AzureStorage,SQL Azure的解决方案,你必须手动删除会话......等等。
是否有解决方案使应用程序使用SQL Azure存储其会话而无需手动清理会话?对我来说,似乎很奇怪,会话似乎是Azure上的一个重要主题。
我看到有可能使用通用“默认配置文件提供商” http://www.hanselman.com/blog/IntroducingSystemWebProvidersASPNETUniversalProvidersForSessionMembershipRolesAndUserProfileOnSQLCompactAndSQLAzure.aspx
据我所知,我们只需要做一个 Install-Package system.web.Providers
然后添加:
<sessionstate mode="Custom" customprovider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider" connectionstringname="DefaultConnection" applicationname="/">
</add></providers>
</sessionstate>
这仍然是Visual Studio 2012 + MVC4 + .Net 4.5中的方法吗?
非常感谢您的回复。
答案 0 :(得分:0)
我们在应用中使用通用提供商。它是MVC4并托管在Azure上。它似乎仍然是处理保存会话状态的最佳方式,因此可以跨角色实例等访问它