2016-08-02 19 views
0

Ich bin neu in Web-API. Entschuldigung, um sehr grundlegende Frage zu stellen. nehme an, diesSo rufen und lesen Antwort von Web-API

meine Web-api Klassenstruktur ist mir
public class Person 
{ 
    string FirstName; 
    string LastName; 
    public Person(string fn, string ln) 
    { 
     FirstName = fn; 
     LastName = ln; 
    } 
} 

public class Team 
{ 
    string TeamName; 
    Person TeamLeader; 
    List<Person> TeamMembers; 

    public Team(string name, Person lead, List<Person> members) 
    { 
     TeamName = name; 
     TeamLeader = lead; 
     TeamMembers = members; 
    } 
} 

public class Response 
{ 
    int ResponseCode; 
    string ResponseMessage; 
    object ResponsePayload; 
    public Response(int code, string message, object payload) 
    { 
     ResponseCode = code; 
     ResponseMessage = message; 
     ResponsePayload = payload; 
    } 
} 

public class PersonController : ApiController 
{ 
    public Response Get() 
    { 
     Person tom = new Person("Tom", "Cruise"); 
     Response response = new Response(1, "It works!", tom); 
     return response; 
    } 
} 

public class TeamController : ApiController 
{ 
    public Response Get() 
    { 
     Person tom = new Person("Tom", "Cruise"); 
     Person cindy = new Person("Cindy", "Cullen"); 
     Person jason = new Person("Jason","Lien"); 
     Team awesome = new Team("Awesome", jason, new List<Person>(){tom,cindy}); 
     Response response = new Response(1, "It works!", awesome); 
     return response; 
    } 
} 

jetzt sagen, wie ich PersonController and TeamController Get Funktion von C# winform Anwendung nennen könnte und auch einige Zeit, um Web-API-Funktion übergeben Daten.

Ich bin neu in Web-API und ich muss eine Web-API entwickeln, die in einem separaten PC laufen wird und dass Web-API von mehreren Winform-Clients konsumiert wird.

Winform-Clients werden Personen- und Teamdaten an Web-API senden, welche Web-API die Daten in DB speichert und wieder einige Zeit Winform-Clients Daten von Web-API abrufen. Ich suche nach einem Beispiel, das mir zeigt, wie man Code schreibt, der Interaktion zwischen Winform-Client und Web-API schafft.

Wenn ich Daten vom Winform-Client an Web-API sende, muss ich dann JSON-String vorbereiten und an Web-API senden oder wird es automatisch hinter der Szene gemacht?

brauchen wenig Führungslinie.

dank

Antwort

0

Es gibt ein schönes Tutorial, wie WebAPI von nicht-Mvc-Anwendungen verwenden: http://www.asp.net/web-api/overview/advanced/calling-a-web-api-from-a-net-client

einen Blick auf dem Microsoft.AspNet.WebApi.Client Paket nehmen (https://www.nuget.org/packages/microsoft.aspnet.webapi.client/), die mit der Content-Negotiation hilft und JSON-Komponieren/Parsing.

+0

Ich brauche ein Tutorial, das mir zeigt, wie man Benutzeranmeldeinformationen zum ersten Mal übergibt, wenn der Winform-Client die Web-API-Funktion aufruft. Nehmen wir an, dass web api eine Formularauthentifizierung hat und dann, wie winform client Benutzerdaten an web api und auth cookie weiterleitet, aber ab dem nächsten Mal wird winclient keine Zugangsdaten senden, sondern auth cookie zur Validierung an die Web-API senden. Bitte leite mich zu einem gültigen Artikel um. Danke –

+0

Das klingt, als könnte es Ihnen helfen: https://msdn.microsoft.com/en-us/library/bb546195%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396 – ctrucza

+0

Ihr Link wird nicht geöffnet . Wenn das Ihr Link https://msdn.microsoft.com/en-us/library/bb546195(v=vs.110).aspx ist, dann spricht es nicht, wonach ich suche. Ich möchte Web API mit Form Auth und Winform wird es verbrauchen. Nach der Authentifizierung von WinForm kann WinForm für jede weitere Anfrage ein Form-Authentifizierungs-Cookie enthalten. –