3

私は、AspNetCore.Mvc、v。1.1.0アプリケーションを作成し、それをWebListenerサーバーで自己ホストしています。私が読んだドキュメントに合わせて、私はIISインテグレーションを使用していません。 私のマシンでうまくデバッグします。 DEVサーバーに公開すると、そこでコンソールを実行してネットワーク経由でエンドポイントにアクセスできます。私は正しく設定しました自己ホストWebListener Webエンドポイントを起動する方法は?

私の質問は、この自己ホスト型のWebListenerアプリケーションを、マシンの起動時に起動するWindowsサービスとして実行するためのベストプラクティスです。それを行うためにTopShelfのようなものを組み込むべきか、あるいは私が気づいていないAspNetCoreのネイティブなものがありますか?あなたはホスティングAspNetCoreで動作するようにアプリを設定する必要が

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/hosting

http://andrewlock.net/configuring-urls-with-kestrel-iis-and-iis-express-with-asp-net-core/

+0

マシンの起動時にIISが起動した場合。あなたのアプリもそうするべきです。 –

+0

WebListenerとIISが組み合わされていないため、ここでIISを使用していないことを反映するために質問を編集しました。 –

答えて

0

まず:

私が持っている(または私が持っていると思うが)これらの二つのリンクにある手順に従いました。

ここproject.json

"Microsoft.AspNetCore.Hosting": "1.0.0-*", 
    "Microsoft.AspNetCore.Hosting.WindowsServices": "1.0.0-*" 

であなたの依存関係にこれらを追加しますが、起動クラスの例ですが、私はので、これを変更する必要があるだろうWebListenerをしたことはありません。

var host = new WebHostBuilder() 
      .UseIISIntegration() 
      .UseKestrel() 
      .UseContentRoot(@"Path\To\Content\Root") 
      .UseStartup<Startup>() 
      .Build(); 

    ///input logic depending on the Environment variables. 
    host.RunAsService(); 

私は、IISとKestrelに対するあなたの嫌悪感を理解していません。サービスとして実行するには、Windowsマシン上にいなければなりません。そのため、IISとKestrelは、WebListenerにさらにデバッグフレンドリでなければなりません。

関連する問題