トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

IISとWindowsサーバ

[MS技術]

IISとWindowsサーバ

  ビルドツールとの連携

IIS側になんのアプリケーションが乗っているか調べて、msbuildでデプロイできれば嬉しいところだ。tomcatやjettyとは勝手が違うので難しい。

  具体的なインストール場所

サーバに何のアプリケーションが乗っているかは、これでわかりそう

  IISに簡単なアプリを乗せる

IIS自体のインストールはその辺にやり方が載っているので、とりあえずWin Server 2012にIISを入れておく。

  • IISのサーバを起動させた後に
    • C:\inetpub\wwwroot 以下に simplest.aspx という名前でファイルを置く
    • http://localhost/simplest.aspx でアクセスするとハローワールドできる
  • C#版
<%@ Page Language="C#" %>
<html>
<body>
<p>
<% 
     Response.Write("Hello, ASP.NET!"); 
%>
</p>
</body>
</html>
  • VB.Net版
<%@ Page Language="vb" %>
<html>
<body>
<p>
<% 
     Response.Write("Hello, ASP.NET!")
%>
</p>
</body>
</html>

  C#とVBでそれぞれ簡単なAjaxを試す

VB.Netを使ってコードを書いてみた。それにしてもVBは単純なコードが膨らんでしまう。

  • C#版
<%@ 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版
<%@ 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
お名前: コメント: