.NET Standard 2.0 的 System.ComponentModel.Primitives 中 ClientBase<T>.CacheSetting 的替代方案?

问题描述

一两年前,我们的 WCF 客户端出现了一些问题。即使在使用新的端点 url 创建一个全新的客户端之后,该客户端仍使用相同的端点 url,最终略有不同。

解决方案是像这样禁用缓存:

public static void TurnOffServiceClientCache<TServiceInterface>() where TServiceInterface : class
{
    try
    {
        if (ClientBase<TServiceInterface>.CacheSetting != CacheSetting.AlwaysOff)
        {
            ClientBase<TServiceInterface>.CacheSetting = CacheSetting.AlwaysOff;
        }
    }
    catch (Exception ex)
    {
        m_log.WriteError($"Error when setting {typeof(TServiceInterface).FullName}-ServiceClient-Caches to AlwaysOff",ex);
        throw;
    }
}

我们目前正在将越来越多的项目从旧框架版本 4.5.2 迁移到 netstandard2.0。

似乎 CacheSetting 属性在 netstandard2.0 实现中不可用。还有什么我可以用的吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)