微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决.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 举报,一经查实,本站将立刻删除。