2016-08-02 63 views
0

我是web api中的新成員。不好意思問很基本的問題。想這是我的網頁API的類結構如何打電話和閱讀來自web api的回覆

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; 
    } 
} 

現在告訴我,我怎麼能調用從C#WinForm應用程序PersonController and TeamController Get功能,並且還通過數據一段時間,網頁API函數。

我是新的web api,我需要開發一個web api,它將運行在一個單獨的pc上,並且web api將被多個winform客戶端使用。

winform客戶端將人員和團隊數據發送到web api哪些web api將數據保存到db中,以及某些時候winform客戶端從web api獲取數據。我正在尋找一個例子,告訴我如何編寫代碼,這將創建winform客戶端和web api之間的交互。

當我們將數據從winform客戶端發送到web api時,我需要準備json字符串並將其發送到web api,否則它會在現場自動完成?

需要一點點指導。感謝

回答

0

有關於如何使用的WebAPI非MVC應用程序一個很好的教程:http://www.asp.net/web-api/overview/advanced/calling-a-web-api-from-a-net-client

看看在Microsoft.AspNet.WebApi.Client包(https://www.nuget.org/packages/microsoft.aspnet.webapi.client/),它與內容協商和幫助JSON組合/解析。

+0

我需要一個教程,它會告訴我如何在winform客戶端調用web api函數時首次傳遞用戶憑證。假設web api具有表單身份驗證,那麼winform客戶機如何將用戶憑據傳遞給web api並讀取auth cookie,但是下次winclient不會發送憑證,而是僅將auth cookie發送到web api以進行驗證。請將我重定向到有效的文章。謝謝 –

+0

這聽起來像它可以幫助你:https://msdn.microsoft.com/en-us/library/bb546195%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396 – ctrucza

+0

你的鏈接沒有打開。如果這是你的鏈接https://msdn.microsoft.com/en-us/library/bb546195(v=vs.110).aspx那麼它不說我在找什麼。我想用表單驗證的web api和winform會消耗它。在驗證winform之後,winform如何爲每個後續請求包含表單驗證cookie。 –