【问题标题】:Unable to cast object of type 'Windows.Web.Http.Filters.HttpBaseProtocolFilter' to type 'Windows.Web.Http.Filters.IHttpBaseProtocolFilter3'无法将类型为“Windows.Web.Http.Filters.HttpBaseProtocolFilter”的对象转换为类型“Windows.Web.Http.Filters.IHttpBaseProtocolFilter3”
【发布时间】:2016-06-30 09:32:19
【问题描述】:

我正在为 Windows 10 和移动设备构建一个通用应用程序。 我拥有在台式机和平板电脑上运行的代码:

 using (var filter = new HttpBaseProtocolFilter())
            {
                filter.CookieUsageBehavior = HttpCookieUsageBehavior.NoCookies;
                filter.AllowUI = false;

但是当部署到模拟器时会抛出异常:

Additional information: Unable to cast object of type 'Windows.Web.Http.Filters.HttpBaseProtocolFilter' to type 'Windows.Web.Http.Filters.IHttpBaseProtocolFilter3'.

在行中:

filter.CookieUsageBehavior = HttpCookieUsageBehavior.NoCookies;

你知道这里发生了什么吗?

问候。

【问题讨论】:

  • 代码中的哪一行引发了异常?构造函数?
  • filter.CookieUsageBehavior = HttpCookieUsageBehavior.NoCookies;
  • 这应该是 Api Contract 版本问题。 CookieUsageBehavior 属性在 10.0.10586.0 及更高版本中可用。请参阅我对this similar question 的回复。

标签: c# win-universal-app httpclient windows-10-universal dotnet-httpclient


【解决方案1】:

问题与 Mehrzad 类似,只需添加它以使其工作

 if (ApiInformation.IsPropertyPresent("Windows.Web.Http.Filters.HttpBaseProtocolFilter", "CookieUsageBehavior"))
        {
            filter.CookieUsageBehavior = HttpCookieUsageBehavior.NoCookies;
        }

谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-06
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多