これは、初めてMicrosoft Azureで自己ホスティングOWIN Web APIアプリケーションを開発して展開しようとしています。質問のために、サンプルアプリケーションhereが見つかりました。Azure WebJobコマンドラインアプリケーションを起動できません(再起動の保留状態)
だから私は単に私の三つのファイル、Program.csが、Startup.cs、およびValuesController.csあります
Program.csの
using Microsoft.Owin.Hosting;
using System;
namespace OwinSelfhostSample
{
public class Program
{
static void Main()
{
string baseAddress = "http://<MYSITENAME>.azurewebsites.net/";
// Start OWIN host
using (WebApp.Start<Startup>(url: baseAddress))
{
Console.ReadLine();
}
}
}
}
Startup.cs
using Owin;
using System.Web.Http;
namespace OwinSelfhostSample
{
public class Startup
{
// This code configures Web API. The Startup class is specified as a type
// parameter in the WebApp.Start method.
public void Configuration(IAppBuilder appBuilder)
{
// Configure Web API for self-host.
HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
appBuilder.UseWebApi(config);
}
}
}
を
ValuesController.cs
using System.Collections.Generic;
using System.Web.Http;
namespace OwinSelfhostSample
{
public class ValuesController : ApiController
{
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
}
だから私は自分のプロジェクトに行くと「AzureのWebJobとして公開」を選択するとき、それが正常に.azurewebsitesアドレスに出版されたと言い、まだ私は、HTTPに移動します。//.azurewebsites.net/api/値が表示されます。「探しているリソースが削除されました。名前が変更されました。一時的に利用できません。」
私はこれをローカルに実行し、localhostにProgram.csのbaseAddressを変更すると正常に動作し、コントローラから応答が得られます。
従来のazureポータルでは、私のWebジョブは「再開待ち」となっています。
私はまた、WebJobプロジェクトではなく、コンソールアプリケーションを作成しようとした私のProgram.csや出版でこれを試みたが、これもうまくいきませんでした:
public static void Main()
{
string baseAddress = "http://<MYSITENAME>.azurewebsites.net/";
var host = new JobHost();
// The following code ensures that the WebJob will be running continuously
using (WebApp.Start<Startup>(url: baseAddress))
{
host.RunAndBlock();
}
}
は、どのように私は私の自己ホスト型のWeb APIサーバーを持つことができます継続的に実行している?