2016-07-21 19 views
0

Der Fall: Ich verwende EF6 und WebAPI steuert mein ErgebnisCaching und Parsing etag mit Httpclient und Odatav4 (ETAG immer null in Httpclient)

public class Profile 
{ 
    public string ZipFile { get; set; } // input parameter 
    [ConcurrencyCheck] 
    public Guid Id { get; set; } // output parameter generated by Web API 

    public string Name { get; set; } // output parameter from Profile XML file 

    public string Description { get; set; } // output parameter from Profile XML file} 

So speichern i ConcurrencyCheck bin mit zu erzeugen ETAG mit odataV4

Wenn ich das gerade lese bekommen führen mit Mann Post i bekommen: enter image description here

Wie Sie die etage dort

sehen

Das Problem: in meinem Klienten i Httpclient verwenden, wie immer wenn-Spiel und etag

public static string GetAsJsonAsync(string route) 
    { 
     string result = string.Empty; 

     try 
     { 

      var fullRoute = PrepareHttpRequest(route); 
      var client = new HttpClient(); 
      using (HttpResponseMessage response = client.GetAsync(fullRoute).Result) 
      { 
       result = response.Content.ReadAsStringAsync().Result; 
       response.EnsureSuccessStatusCode(); 
      } 
     } 
     catch (Exception ex) 
     { 
      throw new HttpRequestException(result, ex); 
     } 

     return result; 


    } 

die Antwort-Header folgt, ich habe keine Ahnung, wie das "@ odata.etg" Wert zu analysieren, Also meine Frage ist, wie ich den Etag Wert parsing und es speichern?

Antwort

0

Für zukünftige Referenzen ist die Lösung Attach zu Ihrem Modell [JsonProperty("@odata.etag")]