Asp.net 如何在silverlight 3中检测与服务器的连接何时关闭

Asp.net 如何在silverlight 3中检测与服务器的连接何时关闭,asp.net,wcf,silverlight,Asp.net,Wcf,Silverlight,我有一个Silverlight3应用程序。它访问在IIS上运行的WCF服务。如果我让应用程序在没有活动的情况下静坐一段时间,那么我似乎失去了与服务器的连接/登录身份验证,并且我的服务调用失败 看起来我是出于安全目的而注销的,但这不是我很了解的领域。我们正在使用联邦STS创建加密令牌以确保安全 是否有人可以解释发生了什么(如果我的描述足够清楚),以及如何在Silverlight应用程序中检测到此事件并将其重定向回登录页面 谢谢您的帮助。您如何拨打WCF服务?您希望确保仅在调用WCF服务之前创建并打

我有一个Silverlight3应用程序。它访问在IIS上运行的WCF服务。如果我让应用程序在没有活动的情况下静坐一段时间,那么我似乎失去了与服务器的连接/登录身份验证,并且我的服务调用失败

看起来我是出于安全目的而注销的,但这不是我很了解的领域。我们正在使用联邦STS创建加密令牌以确保安全

是否有人可以解释发生了什么(如果我的描述足够清楚),以及如何在Silverlight应用程序中检测到此事件并将其重定向回登录页面


谢谢您的帮助。

您如何拨打WCF服务?您希望确保仅在调用WCF服务之前创建并打开到代理对象的连接,然后立即关闭连接

不要在应用程序开始时建立连接,完成后再关闭。这将不必要地将服务保留在内存中。如果您需要一个长时间运行的服务,那么我建议您研究一下哪个服务可以让您在方法调用之间保存状态


通常,您希望将服务视为无状态,在使用方法之前进行连接,然后立即关闭。这样,您就不必担心连接何时关闭等问题。

您如何调用WCF服务?您希望确保仅在调用WCF服务之前创建并打开到代理对象的连接,然后立即关闭连接

不要在应用程序开始时建立连接,完成后再关闭。这将不必要地将服务保留在内存中。如果您需要一个长时间运行的服务,那么我建议您研究一下哪个服务可以让您在方法调用之间保存状态


通常,您希望将服务视为无状态,在使用方法之前进行连接,然后立即关闭。这样,您就不必担心连接何时关闭等问题。

创建、打开然后关闭连接,而不是让它保持打开状态,会对性能造成多大影响?我不确定sako-我还没有对此进行分析。这肯定比占用服务器资源要好。试想一下,如果你有成百上千的客户机,那将是成百上千的开放服务在消耗资源。看起来如果只在需要时使用资源会更好。创建、打开然后关闭连接,而不是让它保持打开状态,会对性能造成多大的影响?我不确定sako-我还没有对此进行分析。这肯定比占用服务器资源要好。试想一下,如果你有成百上千的客户机,那将是成百上千的开放服务在消耗资源。如果你只在需要的时候消耗资源,你会感觉好得多。