私は最近、Web APIプロジェクトをOWIN(Visual Studio 2013)を使用してセルフホスト型サービスに変換しなければなりませんでした。私は次のようにしました:
(1)プロジェクトのルートに手動でProgram.csファイルとStartup.csファイルを追加しました。どちらのファイルも、ここに記載されているコードを含みます:http://www.asp.net/web-api/overview/hosting-aspnet-web-api/use-owin-to-self-host-web-api。
(2)Web APIプロジェクトのプロパティに移動しました。 「アプリケーション」セクションでは、「出力タイプ」を「コンソールアプリケーション」と指定し、「プログラム」クラスを「起動オブジェクト」として設定しました。
// Start OWIN host
using (WebApp.Start<Startup>(url: baseAddress))
{
// Create HttpCient and make a request to api/values
HttpClient client = new HttpClient();
var response = client.GetAsync(baseAddress + "api/values").Result;
if (response != null)
{
Console.WriteLine("Information from service: {0}", response.Content.ReadAsStringAsync().Result);
}
else
{
Console.WriteLine("ERROR: Impossible to connect to service");
}
Console.WriteLine();
Console.WriteLine("Press ENTER to stop the server and close app...");
Console.ReadLine();
}
最後に代わりに起動以内config.Routes.MapHttpRoute()を複数回呼び出すのでは、:必須ではありませんが、次のように
は、私は少し見てProgram.Main()内「使用」ブロックを変更しました.Configuration()、あなたはすでにウェブAPIのために書いたルートを参照することができます:ここでは
// Configure Web API for self-host.
var config = new HttpConfiguration();
WebApiConfig.Register(config);
app.UseWebApi(config);
いくつかの例がありますhttp://stackoverflow.com/questions/12899360/getting-a-post-endpoint-to -work-in-self-hosted-webservicehost-c-sharp-webservi、http://stackoverflow.com/questions/13165533/deserialize私の以前の回答から、-json-object-sent-from-android-app-to-wcf-webservice –
@ L.Bあなたのご意見ありがとうございます。しかし、私が何かを紛失していない限り、私はこれがどのように質問に答えるかはよく分かりません。 – trnelson
trnelson、両方とも回答*自己完結型* RestFulサービスのクライアントコードとサーバーコード。あなたが役に立たないと私のコメントを無視してください。 –