【问题标题】:wcf service hosted in a windows service, what caching options do I have?wcf 服务托管在 Windows 服务中,我有哪些缓存选项?
【发布时间】:2012-01-05 22:21:41
【问题描述】:

我的 Windows 服务正在托管 WCF 服务。

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

据我了解,如果它是单例的,那么与根据客户端请求生成端点相比,在端点内完成的任何缓存的行为都会有所不同。

如果我在上面的设置中有错误,请纠正我。

我有哪些缓存选项?

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

【问题讨论】:

    标签: c# wcf windows-services


    【解决方案1】:

    看看

    This Link

    用于您的端点管理。

    总和为:

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

    Per-Session 实例模式

    Per-Call 实例模式

    单例模式

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

    我使用如下缓存对象:

    Configuration GetCachedConfiguration()
        {
    
            // If there is no cached item, get it from the database first.
    
            if (cachedConfiguration == null)
            {
                cachedConfiguration = ConfigurationData.GetConfigurationData();
            }
    
            return cachedConfiguration;
        }
    

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-13
        • 1970-01-01
        相关资源
        最近更新 更多