ASP.NET:WebService 类实例化的频率是多少?如何在其中制作一个持久对象?

标签 asp.net web-services

一个简单的问题,但我在谷歌中找不到答案。

Web 服务类实例化的频率是多少?是每次调用网络服务一次,是每次(任意时间段)一次,还是每次其他事情一次?

编辑

我希望这个类(class)能长久地生活下去,但事实似乎并非如此。

重点是,我有一个用于服务请求的资源,并且每次重新加载该资源不是一个选项(相反,加载一次是一个选项,并且性能非常好 - 和其他 -明智的,只是简单的“明智”)。 (不,没有人会感到不安,资源不会被阻止或发生其他情况。)

那么如何在 Web 服务中拥有一个对象,可以使用该对象的单个实例来服务所有请求? 抱歉,如果问题的答案过于明显,例如“使用静态变量”。作为一名经验丰富的程序员,我仍然没有正确地了解网络编程,并且仍然对一些一般概念感到困惑。

最佳答案

创建 Web 服务客户端后,您可以根据需要调用任意数量的方法,而无需创建新的方法。

因此,没有必要为每个调用创建一个新的客户端实例。虽然你当然可以。没有什么能阻止你。

例如,如果您从另一个 Web 服务的不同方法中使用某个 Web 服务,我认为最好在每个方法中创建一个新的 Web 服务客户端。 (由于 Web 服务的性质,Web 服务调用之间可能有很多时间。)

OTOH,如果您从 Windows 客户端应用程序内部使用 Web 服务,则可以轻松创建 Web 服务客户端的一个全局实例,并始终使用该实例来调用 Web 服务。

关于ASP.NET:WebService 类实例化的频率是多少?如何在其中制作一个持久对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2117582/

相关文章:

javascript - 如何从 Facebook 页面获取最新状态或更新

.net - 回发不适用于 aspx 页面作为默认文档

c# - 表单例份验证-密码恢复-我宁愿用户在网络上重置它而不发送电子邮件

web-services - 什么是对 WSDL 契约的非破坏性或向后兼容的更改?

android - 带回调的通用 asyncTask(用于 Web 服务)

java - 如何使 Web 服务 URL 在远程计算机上工作?

ASP.NET View 状态优化/分析工具

asp.net - Firefox 上的 CompareValidator 问题

c# - 如何将熵引入编码的 Base64 字符串?

java - 大数据集的Jersey Streaming输出