【发布时间】:2012-06-09 14:38:06
【问题描述】:
我有一个解决方案,其中包含两个项目,一个 Web 应用程序 和一个 windows azure 项目。
要链接这两者,我在 Roles>Add>Web Role Project in Solution 中单击鼠标右键。
到目前为止一切都很好。我能够通过计算模拟器在多个实例上测试应用程序,并且如果我单击“在浏览器中查看”,也可以在本地对其进行测试。
我的目标是保持相同的代码在本地和云中运行,因此,仅将 azure 代码包含在一个块中,例如
if(RoleEnvironment.IsAvailable) { } else { }
问题:Web.config 文件对于 Web 应用程序 和 azure 项目 和一些配置是通用的,例如TableStorageSessionStateProvider 将无法在本地工作,所以我的问题是......
<sessionState mode="Custom" customProvider="TableStorageSessionStateProvider">
<providers>
<clear/>
<add name="TableStorageSessionStateProvider" type="Microsoft.Samples.ServiceHosting.AspProviders.TableStorageSessionStateProvider"/>
</providers>
</sessionState>
问题:我可以拥有两个 web.config 文件吗?当我在本地浏览网站时调用一个,当我在计算模拟器中测试我的应用程序或将解决方案部署到 Microsoft Cloud 时使用一个?
【问题讨论】:
-
顺便说一句,我不会在生产站点中使用表存储会话状态提供程序,因为它存在已知问题。提示是名称空间具有 .Samples。在里面。有关完整说明,请参阅此答案:stackoverflow.com/questions/3940891/…
-
我会记住这一点...@knightpfhor 你建议我改用数据库存储吗?
-
我还没有机会尝试,但我会使用新的分布式缓存,因为它是最便宜的选择:windowsazure.com/en-us/develop/net/how-to-guides/cache 如果你不想冒险,使用 SQL 服务器
标签: c# asp.net azure web-config