gpt4 book ai didi

asp.net-mvc - 如何在 Azure 上运行的 MVC 3 中将 session 信息从一个屏幕传递到另一个屏幕

转载 作者:行者123 更新时间:2023-12-03 06:05:41 25 4
gpt4 key购买 nike

我有一个屏幕,用户可以从下拉列表中选择数据库源。一旦选择,我希望将信息传递到其他屏幕,这样用户就不必继续选择。

如何将此类信息从一个屏幕传递到另一个屏幕?请注意,这些信息只是非常小的信息,例如:

DatasourceID - 2 characters
SubjectID - 2 characters

当我在 Azure 上运行时,我可以假设存储它的最佳位置是在客户端吗?我看到一种存储数据的实现是这样的:

Session["abc"] = "def";
if (Session["abc"] != null)
etc ...

这是最好的方法还是我错过了一些东西。另外,当页面每次都可以由不同的服务器提供服务时,上述内容将如何工作?上面是否在本地存储信息?

最佳答案

session 存储在服务器端。现在,在 Azure 中,您有几个选项来准确存储它。这取决于您想使用此数据源做什么。如果这是您在下面的屏幕中只需要的内容,您可以将其存储在存储在 session 中的 TempData 中。它会一直保留在那里,直到您阅读为止。

现在您可以选择以下选项来存储 session 状态:

  1. 在 Azure AppFabric 缓存中
  2. 在 SQL Azure 数据库中
  3. 在 Blob 存储中

Azure AppFabric 缓存有一个非常容易设置的 session 提供程序。您只需在 Azure 门户中创建一个新的缓存,然后通过单击工具栏上的相应按钮即可获取所需的 web.config 条目。这也是explained in detail here .

使用它,您可以在进程外的 session 中存储内容。缺点是有点贵(128 MB 缓存大约 45 美元/月)。因此,替代方案是将 session 状态存储在 SQL Azure 中。 SQL Azure 有一个 session 提供程序。

这是a link to a great introduction由 Scott Hanselman 向 ASP.NET 通用提供商提供。如果您不使用成员(member)资格,则只需设置System.Web.Providers.DefaultSessionStateProvider

只需确保将连接字符串指向 SQL Azure 数据库即可。注意:您必须在连接字符串中设置 MultipleActiveResultSets=True,因此,如果您已从门户复制 SQL Azure 连接字符串,请务必将其添加回来。

然后,培训套件中还有一个用于博客存储的 session 提供程序,可通过示例应用程序获取 http://code.msdn.microsoft.com/windowsazure/Windows-Azure-ASPNET-03d5dc14 。我相信 MS 不支持它。

希望这有帮助。

关于asp.net-mvc - 如何在 Azure 上运行的 MVC 3 中将 session 信息从一个屏幕传递到另一个屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8237359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com