2017-09-07 12 views
1

"ASP.NET Core Web Application"、 ".NET Core"、 "ASP.NET Core 2.0"を選択するだけで、 "Web API"IIS上で基本的なASP.NET Core 2 WebAPIアプリケーションをホストする方法

これは、「default」呼び出し「api/values」がJSON配列「["value1"、 "value2"]を返します(ブラウザでマイナーな警告のみを表示します)。

これまでのところとても良いです。

ここでは、FolderProfileを使用するだけでこのアプリケーションをIISにデプロイしたいので、アプリケーションをビルドして公開します。このディレクトリには、実行に必要なすべてのファイルがあります。私は生成されたdllでランタイムを開始するための正しい設定で、web.configが追加されていることを確認します(ソースにはありません)。

私はこのディレクトリを物理ディレクトリにコピーしますが、私はASP.NETコアのチュートリアルを見つけることができなかったので、アプリケーションプール内にWebサイトを作成しました。 2.多くの変更があるので、コア1のためのドキュメントは、正しく適用されません...

最後に、私はいつもこのような結果に終わる:

HTTP Error 500.19 - Internal Server Error 
The requested page cannot be accessed because the related configuration data for the page is invalid. 

生成web.configファイルのようにあります以下:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
    <handlers> 
     <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /> 
    </handlers> 
    <aspNetCore processPath="dotnet" arguments=".\Core2WebService.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" /> 
    </system.webServer> 
</configuration> 
<!--ProjectGuid: 5c8e6f19-9a61-47c5-8ee1-8c4b54962ba2--> 

私はできる限り何でもしようとしましたが、いつもこの最終結果で...どんなアイデアですか?おかげさまで

+0

を明らかに私は、ターゲットマシン上のASP.NETのCore 2 SDKをインストールし... – Andrea

+0

チェック[IISとWindows上のホスト](https://docs.microsoft .com/en-us/aspnet/core/publishing/iis)のドキュメントを参照してください。今すぐあなたが[.NET Core Windows Server Hostingバンドル](https://aka.ms/dotnetcore.2.0.0-windowshosting)をインストールするのを忘れたようです。 – Set

+0

.NET Core Server Hosting ???この情報はどこにありますか?私は 'dotnet-sdk-2.0.0-win-gs-x64'をインストールしました:私は試してみましょう... – Andrea

答えて

4

Host on Windows with IISを参照してください。今すぐインストールすることを忘れたようです。the .NET Core Windows Server Hosting bundle

バンドルには、IISとKestrelサーバーの間にリバースプロキシを作成するASP.NETコアモジュールがインストールされます。

+0

本当に本当にありがとう! – Andrea

+0

ありがとうございます。それは私に多くの時間を節約します。ホスティングバンドルのインストールは重要なステップです。 – Jim

0

ASP.NETコアプロジェクトについて言及すると、それらはコンソールアプリケーションです。ステップ1 IIS に展開ASP.NETコアへ

public class Program 

{ 

    public static void Main(string[] args) 

    { 

     var host = new WebHostBuilder() 

      .UseKestrel() 

      .UseContentRoot(Directory.GetCurrentDirectory()) 

      .UseIISIntegration() 

      .UseStartup() 

      .Build(); 

     host.Run(); 

    } 

} 

手順:公開フォルダ

をファイルに公開するプロジェクトは、コンソールアプリは持っているだろうし、それが次のコードを持っているようProgram.csのは、ファイルを持っていますVS 2017

ステップ2でのフォルダへ:ファイルのコピー優先IIS場所へ

あなたが生きてそれらをしたいパブリッシュされたファイルをコピーします。リモートサーバーに展開する場合は、ファイルを圧縮してサーバーに移動する必要があります。ローカルの開発ボックスに展開する予定がある場合は、それらをローカルにコピーすることができます。

ステップ3:IIS

でアプリケーションを作成します。まず、新しいIISアプリケーションプールを作ります。 .NET CLRバージョンの「管理されていないコード」で開発したいと思うかもしれません。 IISはリバースプロキシとして動作し、.NETコードは実行されません。

次に、既存のIISサイトで新しいアプリケーションを開発するか、新しいIISサイトを設計します。

ステップ4:あなたのアプリケーションがうまくロードする必要がありますあなたのApp

をロードします。そうでない場合は、出力ログを確認してください。 web.configファイル内で、IISがASP.NETコアプロセスを起動する方法について説明します。 stdoutLogEnabled = trueを設定して出力ログを終了させ、stdoutログファイルで設定されているログ出力場所を変更することもできます。

私はこれがあなたを助けることを願っています!!

あなたが直接あなたの.Net Coreアプリケーションから公開することができ

よろしく プリヤ

関連する問題