「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
ASP.NET Coreのデプロイ - マイクロソフト系技術情報 Wiki
コチラを参照。
Linux上でdotnet new mvcで生成。
テンプレートを以下のように最小化。
public class HomeController : Controller { public IActionResult Index() { string[] str_ary = new string[] { "aaa", "bbb", "ccc" }; ViewBag.Ret = JsonConvert.SerializeObject(str_ary); return View(); }
@{ ViewData["Title"] = "Home Page"; } @Html.Label((string)ViewBag.Ret);
ASP.NET Core 2.0 で自己完結型の展開 (SCD) を実行する場合、
現時点では Razor ビューのプリコンパイルを使用できません。
この機能は 2.1 のリリース時に SCD で使用可能になります。
$ dotnet new mvc Getting ready... The template "ASP.NET Core Web App (Model-View-Controller)" was created successfully. This template contains technologies from parties other than Microsoft, see https://aka.ms/template-3pn for details. Processing post-creation actions... Running 'dotnet restore' on ・・・/mvc/mvc.csproj... Restoring packages for ・・・/mvc/mvc.csproj... Restoring packages for ・・・/mvc/mvc.csproj... Restore completed in 1.3 min for ・・・/mvc/mvc.csproj. Generating MSBuild file ・・・/mvc/obj/mvc.csproj.nuget.g.props. Generating MSBuild file ・・・/mvc/obj/mvc.csproj.nuget.g.targets. Restore completed in 1.52 min for ・・・/mvc/mvc.csproj. Restore succeeded.
$ dotnet run warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35] No XML encryptor configured. Key {・・・} may be persisted to storage in unencrypted form. Hosting environment: Production Content root path: ・・・/mvc Now listening on: http://localhost:5000 Application started. Press Ctrl+C to shut down.
$ curl http://localhost:5000 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Home Page - mvc</title>
[xxxxx WebApplication1]$ dotnet run ・・・・・・ASP.NET アプリ起動 Using launch settings from ・・・/WebApplication1/WebApplication1/Properties/launchSettings.json... info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0] User profile is available. Using '/・・・.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. Hosting environment: Development Content root path: ・・・/WebApplication1/WebApplication1 Now listening on: http://localhost:52013 Application started. Press Ctrl+C to shut down. info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1] Request starting HTTP/1.1 GET http://localhost:52013/ info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1] Executing action method WebApplication1.Controllers.HomeController.Index (WebApplication1) with arguments ((null)) - ModelState is Valid info: Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ViewResultExecutor[1] Executing ViewResult, running view at path /Views/Home/Index.cshtml. info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[2] Executed action WebApplication1.Controllers.HomeController.Index (WebApplication1) in 10159.7952ms info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2] Request finished in 10942.7977ms 200 text/html; charset=utf-8
[xxxxx ~]$ curl http://localhost:52013 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Home Page - WebApplication1</title> <link rel="stylesheet" href="/lib/bootstrap/dist/css/bootstrap.css" /> <link rel="stylesheet" href="/css/site.css" /> </head> <body> <div class="container body-content"> <label for="z_aaa___bbb___ccc__">["aaa","bbb","ccc"]</label>; <hr /> <footer> <p>© 2018 - WebApplication1</p> </footer> </div> <script src="/lib/jquery/dist/jquery.js"></script> <script src="/lib/bootstrap/dist/js/bootstrap.js"></script> <script src="/js/site.js?v=ji3-IxbEzYWjzzLCGkF1KDjrT2jLbbrSYXw-AhMPNIA"></script> </body> </html>
:~$ mkdir mvc :~$ cd mvc :~/mvc$ dotnet new mvc The template "ASP.NET Core Web App (Model-View-Controller)" was created successfully. This template contains technologies from parties other than Microsoft, see https://aka.ms/template-3pn for details. Processing post-creation actions... Running 'dotnet restore' on ・・・/mvc/mvc.csproj... Restoring packages for ・・・/mvc/mvc.csproj... Restore completed in 9.08 sec for ・・・/mvc/mvc.csproj. Generating MSBuild file ・・・/mvc/obj/mvc.csproj.nuget.g.props. Generating MSBuild file ・・・/mvc/obj/mvc.csproj.nuget.g.targets. Restore completed in 29.34 sec for ・・・/mvc/mvc.csproj. Restore succeeded.
:~/mvc$ dotnet run Hosting environment: Production Content root path: ・・・/mvc Now listening on: http://localhost:5000 Application started. Press Ctrl+C to shut down.
:$ curl http://localhost:5000 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Home Page - mvc</title>
:~/WebApplication1/WebApplication1$ dotnet run Using launch settings from ・・・/WebApplication1/WebApplication1/Properties/launchSettings.json... info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0] User profile is available. Using '・・・.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. Hosting environment: Development Content root path: ・・・/WebApplication1/WebApplication1 Now listening on: http://localhost:52013 Application started. Press Ctrl+C to shut down. info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1] Request starting HTTP/1.1 GET http://localhost:52013/ info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1] Executing action method WebApplication1.Controllers.HomeController.Index (WebApplication1) with arguments ((null)) - ModelState is Valid info: Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ViewResultExecutor[1] Executing ViewResult, running view at path /Views/Home/Index.cshtml. info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[2] Executed action WebApplication1.Controllers.HomeController.Index (WebApplication1) in 12571.0289ms info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2] Request finished in 13754.7828ms 200 text/html; charset=utf-8
:~$ curl http://localhost:52013 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Home Page - WebApplication1</title> <link rel="stylesheet" href="/lib/bootstrap/dist/css/bootstrap.css" /> <link rel="stylesheet" href="/css/site.css" /> </head> <body> <div class="container body-content"> <label for="z_aaa___bbb___ccc__">["aaa","bbb","ccc"]</label>; <hr /> <footer> <p>© 2018 - WebApplication1</p> </footer> </div> <script src="/lib/jquery/dist/jquery.js"></script> <script src="/lib/bootstrap/dist/js/bootstrap.js"></script> <script src="/js/site.js?v=ji3-IxbEzYWjzzLCGkF1KDjrT2jLbbrSYXw-AhMPNIA"></script> </body> </html> :~$
コチラを参照。