在 Web 服务的生命周期内共享 Web 服务变量?

Posted

技术标签:

【中文标题】在 Web 服务的生命周期内共享 Web 服务变量?【英文标题】:Web service variable shared for the lifetime of the webservice? 【发布时间】:2008-11-15 17:56:44 【问题描述】:

如何使变量(对象)在 Web 服务的整个生命周期内都可用?

静态变量似乎可以工作,但还有其他方法吗?

【问题讨论】:

【参考方案1】:

静态变量存在于包含它们的应用程序域的生命周期中。对于 Web 服务,这通常是 ASP.Net 工作进程。这意味着当 IIS 决定循环工作进程时,您的静态变量将消失。这可能是您想要的,在这种情况下,它可能是一个不错的选择。 (暂且不谈静态变量在给定上下文中是否合适的讨论)。

在 Web 服务的范围内,您还可以通过 Application 属性访问HttpApplicationState(这将是一个 asmx 服务...不确定 WCF 是否相同),所以这也可能是一个存放服务生命周期所需内容的好选择。

【讨论】:

【参考方案2】:

一个使用 HttpApplicationState 的单身人士应该会工作

【讨论】:

【参考方案3】:

可能,但如果静态变量有效,则继续下一个问题! :)

【讨论】:

以上是关于在 Web 服务的生命周期内共享 Web 服务变量?的主要内容,如果未能解决你的问题,请参考以下文章

Web服务开发生命周期

什么是线程局部变量?

什么是线程局部变量?

WEB页面生命周期

最有用的java面试题

四大作用域