{{category MS技術}} !!! IISとWindowsサーバ !! ビルドツールとの連携 * [大規模Windows環境におけるデプロイ|https://gihyo.jp/admin/serial/01/grani/0002] ... IISとASP.NETの関係 * [MSDeployを使用して、JenkinsからWebサーバにデプロイする|http://blog.golaboratory.jp/2013/09/msdeployjenkinsweb.html] ... 具体的に自動デプロイする方法 * [Jenkins で ASP.NET のWebアプリケーションをデプロイする|http://ofnirs.blogspot.com/2012/09/deploy-aspnet-by-jenkins.html] IIS側になんのアプリケーションが乗っているか調べて、msbuildでデプロイできれば嬉しいところだ。tomcatやjettyとは勝手が違うので難しい。 !! 具体的なインストール場所 * [作成したWebプロジェクトをIISに乗せる|https://dotnet.programmer-reference.com/vs-iis/] ** IISのフォルダは、デフォルトでは「C:\inetpub\wwwroot」にあります。 サーバに何のアプリケーションが乗っているかは、これでわかりそう !! IISに簡単なアプリを乗せる * [はじめての ASP.NET|https://aspnet.keicode.com/aspnet/first-index.php] IIS自体のインストールはその辺にやり方が載っているので、とりあえずWin Server 2012にIISを入れておく。 * IISのサーバを起動させた後に ** C:\inetpub\wwwroot 以下に simplest.aspx という名前でファイルを置く ** http://localhost/simplest.aspx でアクセスするとハローワールドできる * C#版 {{list <%@ Page Language="C#" %>

<% Response.Write("Hello, ASP.NET!"); %>

}} * VB.Net版 {{list <%@ Page Language="vb" %>

<% Response.Write("Hello, ASP.NET!") %>

}} !! C#とVBでそれぞれ簡単なAjaxを試す * [jQuery と ASP.NET で AJAX なページを作る基本|https://aspnet.keicode.com/basic/jquery-ajax-basics.php] VB.Netを使ってコードを書いてみた。それにしてもVBは単純なコードが膨らんでしまう。 * C#版 {{list <%@ WebHandler Language="C#" Class="handler1" %> using System; using System.Web; public class handler1 : IHttpHandler { public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain"; Employee emp = new Employee("Keisuke", "Oyama", "000001"); System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); context.Response.Write(serializer.Serialize(emp)); } public bool IsReusable { get { return false; } } } public class Employee { public Employee( string firstName, string lastName, string empID) { FirstName = firstName; LastName = lastName; EmployeeID = empID; } public string FirstName { get; set; } public string LastName { get; set; } public string EmployeeID { get; set; } } }} * VB版 {{list <%@ WebHandler Language="VB" Class="handler2" %> imports System imports System.Web Public Class handler2 Implements IHttpHandler Sub ProcessRequest(context As HttpContext) Implements IHttpHandler.ProcessRequest Dim Request As HttpRequest = context.Request Dim Response As HttpResponse = context.Response Response.ContentType = "text/plain" Dim emp = New Employee("Keisuke", "Oyama", "000001") Dim serializer = New System.Web.Script.Serialization.JavaScriptSerializer context.Response.Write(serializer.Serialize(emp)) End Sub Public ReadOnly Property IsReusable As Boolean Implements IHttpHandler.IsReusable Get Return False End Get End Property End Class Public Class Employee Public Sub New(firstName As String, lastName As String, empID As String) _firstName = firstName _lastName = lastName _empID = empID End Sub Private _firstName As String = "" Public Property FirstName() As String Get Return _firstName End Get Set(ByVal value As String) _firstName = value End Set End Property Private _lastName As String = "" Public Property LastName() As String Get Return _lastName End Get Set(ByVal value As String) _lastName = value End Set End Property Private _empID As String = "" Public Property EmployeeID() As String Get Return _empID End Get Set(ByVal value As String) _empID = value End Set End Property End Class }}