2016-07-22 12 views
0

Auf UWP-Client, Httpclient ignorieren ssl HttpBaseProtocolFilter verwenden können, wieOData auf UWP-Client ignorieren ssl

var filter = new HttpBaseProtocolFilter(); 
filter.CacheControl.ReadBehavior = HttpCacheReadBehavior.MostRecent; 
filter.IgnorableServerCertificateErrors.Add(ChainValidationResult.Expired); 
filter.IgnorableServerCertificateErrors.Add(ChainValidationResult.Untrusted); 
filter.IgnorableServerCertificateErrors.Add(ChainValidationResult.InvalidName); 

Windows.Web.Http.HttpClient webhttpClient = new Windows.Web.Http.HttpClient(filter); 

Aber, wie kann ich mit OData auf UWP-Client und ssl ignorieren?

Uri baseUri = new Uri(baseUriStr); 
Container container = new Container(baseUri); 

Vielen Dank.

Antwort

0

Um OData-Dienst in UWP App verbrauchen, können wir die Abhilfe in dieser Frage verwenden: How to use WCF services in Windows 10 Universal App

  1. erstellen Windows-8.1 Portable Klassenbibliothek und ändert Ziel zu Windows-8.1 enter image description here

  2. Service-Referenz in diesem PCL enter image description here

    hinzufügen
  3. In Bezug auf die PCL in UWP App

  4. Rufdienst wie folgt aus:

    static void DisplayProduct(ClassLibrary2.ServiceReference1.Product product) 
    { 
        Debug.WriteLine("{0} {1} {2}", product.Name, product.Price, product.Category); 
    } 
    
    // Get an entire entity set. 
    static async void ListAllProducts(ClassLibrary2.ServiceReference1.Container container) 
    { 
        var dsQuery = container.Products; 
    
        var tf = new TaskFactory<IEnumerable<ClassLibrary2.ServiceReference1.Product>>(); 
        var list = (await tf.FromAsync(dsQuery.BeginExecute(null, null), 
               iar => dsQuery.EndExecute(iar))).ToList(); 
        foreach (var p in list) 
        { 
         DisplayProduct(p); 
        } 
    } 
    
    private void Button_Click(object sender, RoutedEventArgs e) 
    { 
        Uri uri = new Uri("http://localhost:18441/odata"); 
        var container = new ClassLibrary2.ServiceReference1.Container(uri); 
    
        ListAllProducts(container); 
    } 
    

ich die Prüfung OData-Dienst erstellt in diesem Dokument folgende: Creating an OData v3 Endpoint with Web API 2

prüfen meine fertige Probe hier:Github Link