我剛剛開始使用ASP.NET Web API。如何從頭開始構建ASP.NET Web API?
雖然我對模板和類似的東西沒有任何反應,但我更願意至少了解在信任爲我生成的代碼之前究竟發生了什麼。
我很難找到任何類型的指南,從頭開始構建ASP.net WEB API,沒有任何從MCV Web API項目模板給出的腳手架。
所以我的問題是:Web API的哪些部分是獲取API啓動並運行的裸骨代碼?
此外,如果有一個指南,我沒有發現有人可以指向我,這也將不勝感激。
我剛剛開始使用ASP.NET Web API。如何從頭開始構建ASP.NET Web API?
雖然我對模板和類似的東西沒有任何反應,但我更願意至少了解在信任爲我生成的代碼之前究竟發生了什麼。
我很難找到任何類型的指南,從頭開始構建ASP.net WEB API,沒有任何從MCV Web API項目模板給出的腳手架。
所以我的問題是:Web API的哪些部分是獲取API啓動並運行的裸骨代碼?
此外,如果有一個指南,我沒有發現有人可以指向我,這也將不勝感激。
這裏有一點點讓你開始:
public static void Main()
{
string baseAddress = "http://localhost:12345/";
HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(baseAddress);
config.Routes.MapHttpRoute("Default", "api/{controller}");
HttpSelfHostServer server = new HttpSelfHostServer(config);
server.OpenAsync().Wait();
Console.ReadKey();
server.CloseAsync().Wait();
}
4.創建新的控制器類:
public class HelloWorldController : ApiController
{
public string Get()
{
return "Hello World";
}
}
5.運行您的應用程序並將您最喜歡的HTTP客戶端指向http://localhost:12345/api/helloworld
。我建議使用Fiddler的作曲家,但瀏覽器也應該可以工作。
一個注意事項:如果您以管理員權限啓動它,這將只在VS中起作用。如果你不管理員權限運行,則可能需要添加此行:
config.HostNameComparisonMode = HostNameComparisonMode.Exact;
這說明了如何啓動自己的HTTP服務器在應用程序中。 Web主機Web API有一點不同,主要區別在於,不是像上面那樣創建HttpSelfHostConfiguration對象,而是使用GlobalConfiguration.Configuration靜態配置您的API。
謝謝!我的問題是,我不認爲開始使用控制檯應用程序,我總是以「空白的ASP.NET頁面」模板開始。雖然我確信這是可能的,但我更喜歡你的入門方法。此外,它允許我找到[本指南](http://www.asp.net/web-api/overview/hosting-aspnet-web-api/self-host-a-web-api)。 – JHixson 2013-04-25 12:30:25
現在,使用IIS託管的最簡單方法是創建一個空的Web應用程序並僅標記Web Api。 – 2014-12-31 22:07:24
StackOverflow是針對特定問題,而不是「我在哪裏可以找到」的問題。 Google和Bing專注於此,並且非常擅長。詢問有關查找物品的問題是「購物清單」問題,因此在此處不合適。有Meta帖子[這裏](http://meta.stackexchange.com/q/139618/172661)和[這裏](http://meta.stackexchange.com/q/158809/172661),解釋原因。投票結束爲「不具建設性」。祝你好運。 – 2013-04-25 01:59:19
感謝您的糾正。我將編輯這個問題,以更具體和真實地回答下面的問題。 – JHixson 2013-04-25 12:21:22
似乎有點溫和。問題首先要求提供開始使用Web API所需的代碼指導。這似乎是對事實,參考或專業知識的明確要求 - Web API啓動和運行需要什麼*正確*。我只是一個人,閱讀這個問題並熱切地向下滾動以獲得一個簡潔的答案。 – Steve 2013-11-06 21:42:21