0

Ich erstelle eine universelle App für Windows 10 und mobile Geräte. Ich habe diesen Frieden des Codes, die in Desktop- und Tablet arbeiten:Das Objekt des Typs 'Windows.Web.Http.Filters.HttpBaseProtocolFilter' kann nicht in den Typ 'Windows.Web.Http.Filters.IHttpBaseProtocolFilter3' umgewandelt werden.

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

Aber wenn an den Emulator eingesetzt wirft es die Ausnahme:

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

in der Zeile:

filter.CookieUsageBehavior = HttpCookieUsageBehavior.NoCookies; 

Irgendwelche Ideen, was hier passiert?

Grüße.

+0

Welche Zeile in Ihrem Code löst die Ausnahme aus? Der Konstruktor? –

+0

filter.CookieUsageBehavior = HttpCookieUsageBehavior.NoCookies; – toroveneno

+1

Dies sollte ein Problem mit der Version von Api Contract sein. Die Eigenschaft [CookieUsageBehavior] (https://msdn.microsoft.com/en-us/library/windows/apps/windows.web.http.filters.httpbaseprotocolfilter.cookieusebehavior) ist in 10.0.10586.0 und höher verfügbar. Siehe meine Antwort auf [diese ähnliche Frage] (http://stackoverflow.com/questions/37200801/httpbaseprotocolfilter-clearauthenticationcache-throw-system-invalidcastexcep). –

Antwort

0

Das Problem war, ähnlich dem, was Mehrzad, musste einfach diese hinzufügen, um es

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

Dank!