我有3个用户控件,每个控件都需要根据不同的URL参数从XML源中提取数据。由于它们都发送相同的请求,因此XML源中的数据对于所有3个用户控件来说是相同的。
对于相同的数据,进行3个独立的请求似乎很愚蠢。
我的想法是创建一个单例,我将调用该单例,该单例将对XML服务进行一次请求,然后向用户控件呈现漂亮的解析结果。
例如:
1. 用户控件A获取单例。 2. 用户控件A请求单例进行请求... 3. 单例进行请求并将XML解析为各种属性。 4. 用户控件C获取单例并提取其数据。 5. 用户控件A从单例中提取数据。 6. 用户控件B获取单例并提取其数据。
现在我考虑到了,我需要向"进行请求"方法添加某种阻止机制,以便我不会同时多次调用它——我对C#还比较新,最简单的方法是什么?用户控件是否同时运行?有没有关于这方面的好的概述?
问题是“在C#中,单例模式是否会在页面请求之间重新实例化?”,但我想更一般地问一下,“我是不是做了一件傻事”,“完成这件事的最佳方式是什么?”或者“有没有更容易实现我想要的功能的方法?”。
对于相同的数据,进行3个独立的请求似乎很愚蠢。
我的想法是创建一个单例,我将调用该单例,该单例将对XML服务进行一次请求,然后向用户控件呈现漂亮的解析结果。
例如:
1. 用户控件A获取单例。 2. 用户控件A请求单例进行请求... 3. 单例进行请求并将XML解析为各种属性。 4. 用户控件C获取单例并提取其数据。 5. 用户控件A从单例中提取数据。 6. 用户控件B获取单例并提取其数据。
现在我考虑到了,我需要向"进行请求"方法添加某种阻止机制,以便我不会同时多次调用它——我对C#还比较新,最简单的方法是什么?用户控件是否同时运行?有没有关于这方面的好的概述?
问题是“在C#中,单例模式是否会在页面请求之间重新实例化?”,但我想更一般地问一下,“我是不是做了一件傻事”,“完成这件事的最佳方式是什么?”或者“有没有更容易实现我想要的功能的方法?”。