【问题标题】:Why does a change of Session State provider lead to an ASPx page yielding garbage?为什么更改会话状态提供程序会导致 ASPx 页面产生垃圾?
【发布时间】:2019-05-25 03:59:57
【问题描述】:

我有一个到目前为止运行良好的 aspnet webapp。

我最近被要求探索如何使其更好地扩展。

我发现分离数据库和 Webapp 会有所帮助。

此外,有人告诉我,如果我将会话提供机制更改为 SQLServer,我将能够将 Web 堆栈复制到几台机器上,这些机器可以分别回调状态服务器,从而更好地分配负载。

这听起来合乎逻辑。因此,我使用 ASPNet_RegSQL.exe 创建了一个 ASPState 数据库,在网络上的许多位置都有详细说明,并将我的应用程序上的 web.config 更改为:

<sessionState mode="InProc" cookieless="false" timeout="20" />

收件人:

<sessionState mode="SQLServer" 
 sqlConnectionString="Server=SomeSQLServer;user=SomeUser;password=SomePassword"
 cookieless="false" timeout="20" />

然后我处理了我的应用程序,它向我显示了它的登录屏幕,然后我正式登录了。

一进去,我就看到了一个与我期望的页面不同的页面。

我可以来回更改会话状态。这个问题会消失,然后根据我使用的配置集再次出现。

为什么会这样?

【问题讨论】:

  • 您是否尝试重新启动 IIS 和/或重置应用程序池?
  • 这似乎没有效果。 :(

标签: asp.net sql session encoding


【解决方案1】:

不错的错误老兄:)

可能是一个红鲱鱼,但你在 Session 状态存储什么?

当你从 InProc 迁移到 SQL Server 时,你存储在 SQL 中的东西必须是可序列化的(我认为)

【讨论】:

  • 我喜欢这样。是的,我必须检查我存储的数据的可序列化性
  • 我们有一个赢家...现在已经将多个类归为 并且一切正常...:D
  • 现在要弄清楚为什么我们似乎要向会话中添加整个控件层次结构......嗯
【解决方案2】:

使用Fiddler 查看网络上的实际情况。在我看来,当浏览器需要 HTML 时,您的应用程序正在发回图像。

【讨论】:

    猜你喜欢
    • 2011-11-19
    • 2012-08-23
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 2011-02-12
    • 1970-01-01
    • 2011-06-09
    相关资源
    最近更新 更多