我有一个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" />
然后我发现了我的应用程序,它向我提供了登录屏幕并且我正式登录。
一旦我出现,我的页面与我期待的页面不一致。
我可以来回更改会话状态。这个问题消失了,然后根据我使用的配置集返回。
为什么会这样?
答案 0 :(得分:2)
好错误Dude:)
可能是红鲱鱼,但你在会话状态下存储了什么?
当您从InProc迁移到SQL Server时,您在SQL中存储的内容必须是Serializable(我认为)
答案 1 :(得分:1)
使用Fiddler查看通过网络传输的内容。对我而言,当浏览器期待HTML时,您的应用程序似乎正在发回图像。