我在午餐时与同事讨论负载平衡问题。我承认我对这个话题知之甚少。我们讨论了在ASP.NET应用程序中维护会话的各种方法 - 这些方法都不适合他正在寻找的高性能负载平衡。
Silverlight怎么样?说我。据我所知,它是无状态的,你已经在浏览器中运行了应用程序,你在服务器上获得了提供/处理数据的服务。
Silverlight是否完全否定了对会话状态管理的需求?负载平衡更友好吗?介于两者之间吗?
答案 0 :(得分:2)
我想说Silverlight可能比ASP.NET更加负载均衡。您有更复杂的维护状态机制(例如隔离的本地存储),而且,当您(a)最初下载应用程序时,您只需要与服务器通信,然后(b)当您创建Web服务时调用以检索或更新数据。在这个意义上,它与完全用C#编写的Ajax应用程序类似。
换句话说,只要(a)您的服务器端持久层知道您的客户端是谁,或者(b)您在每个WCF调用上传递所有相关数据,无论哪个网络都无关紧要调用的服务器实例。您不必使用防火墙级别的持久性来确保您的HTTP呼叫返回到正确的Web服务器。
答案 1 :(得分:0)
我说这取决于你的申请。如果它是一个银行应用程序,那么是的,我希望在5分钟后输出超时并再次询问我的密码。如果它是facebook那么没那么多。
答案 2 :(得分:0)
Silverlight依赖于XMLHttpRequest,就像任何其他ajax inslementation一样,因此能够维护会话,形成真实性,角色,配置文件等等。
您获得的好处几乎消除了所有流量。与服务页面相比,json请求可以忽略不计。甚至.xap也可以缓存在客户端上。
我会说你在问题方面正在两全其美。