【问题标题】:HttpBaseProtocolFilter.ClearAuthenticationCache() throw 'System.InvalidCastException'HttpBaseProtocolFilter.ClearAuthenticationCache() 抛出“System.InvalidCastException”
【发布时间】:2016-05-13 03:34:19
【问题描述】:

我创建了一个简单的 uwp 应用程序。 sdk 版本为 Universal Windows 10.0.14332.0。该应用程序什么都不做,只调用函数“HttpBaseProtocolFilter.ClearAuthenticationCache()”。但是当我调用“HttpBaseProtocolFilter.ClearAuthenticationCache()”时,抛出了一个异常:

“System.InvalidCastException”类型的异常发生在 App2.exe 但未在用户代码中处理

附加信息:无法将“Windows.Web.Http.Filters.HttpBaseProtocolFilter”类型的对象转换为“Windows.Web.Http.Filters.IHttpBaseProtocolFilter4”类型。

如何使用“HttpBaseProtocolFilter.ClearAuthenticationCache()”?

【问题讨论】:

    标签: c# cookies win-universal-app httpclient


    【解决方案1】:

    根据documentation,ClearAuthenticationCache 方法是在 Windows.Foundation.UniversalApiContract 版本 3 中引入的,并且在 OS 版本 10.0.14295.0 及更高版本中可用。

    这意味着 Windows.Web.Http.Filters.IHttpBaseProtocolFilter4 在旧版本中不可用,您收到InvalidCastException

    因此,如果您至少以旧版本为目标,则需要在调用该方法之前check if the API is available

    using Windows.Foundation.Metadata;
     ...
     ...
    if(ApiInformation.IsMethodPresent("Windows.Web.Http.Filters.HttpBaseProtocolFilter.ClearAuthenticationCache"))
    {
        // Call the method here
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-18
      • 2022-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多