到目前为止,我在 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 的方式吗?
非常感谢您的回复。