Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# wcf服务托管在windows服务中,我有哪些缓存选项?_C#_Wcf_Windows Services - Fatal编程技术网

C# wcf服务托管在windows服务中,我有哪些缓存选项?

C# wcf服务托管在windows服务中,我有哪些缓存选项?,c#,wcf,windows-services,C#,Wcf,Windows Services,我的windows服务正在托管WCF服务 据我所知,我的wcf服务可以是单一的,也可以让它根据客户端请求创建新的端点。 我从中了解到,如果是单例缓存,那么在端点内执行的任何缓存与在每个客户端请求生成端点时的行为都会有所不同 如果我在上述设置中出错,请纠正我 我有哪些缓存选项? 它是否类似于web,其中多个请求都是web页面的新实例,具有可在应用程序范围内使用的缓存存储?最简单的方法是将缓存数据存储在静态类中。请查看 用于端点管理 其总额为: 实例管理是一组技术,帮助我们将所有客户端请求绑定到服

我的windows服务正在托管WCF服务

据我所知,我的wcf服务可以是单一的,也可以让它根据客户端请求创建新的端点。

我从中了解到,如果是单例缓存,那么在端点内执行的任何缓存与在每个客户端请求生成端点时的行为都会有所不同

如果我在上述设置中出错,请纠正我

我有哪些缓存选项?


它是否类似于web,其中多个请求都是web页面的新实例,具有可在应用程序范围内使用的缓存存储?

最简单的方法是将缓存数据存储在静态类中。

请查看

用于端点管理

其总额为:

实例管理是一组技术,帮助我们将所有客户端请求绑定到服务实例,以控制哪个实例处理哪个请求。为了熟悉所有实例管理模式,我们应该对它们进行简要概述。WCF中基本上有三种实例模式:

每会话实例模式

每次调用实例模式

单例实例模式

在这种情况下,我通常做的是每会话实例缓存。(当然,这取决于我想做什么)

我使用缓存对象,如下所示:

Configuration GetCachedConfiguration()
    {

        // If there is no cached item, get it from the database first.

        if (cachedConfiguration == null)
        {
            cachedConfiguration = ConfigurationData.GetConfigurationData();
        }

        return cachedConfiguration;
    }
其中cachedConfiguration是我的静态缓存对象。此函数充当配置数据的访问器(在本例中)