[ASP.net WebForm] WebSite專案加入Web API方式

[ASP.net WebForm] WebSite專案加入Web API方式

前言

網路上比較常見ASP.net MVC的Web API文章,傳統的WebSite專案加入方法這邊簡單整理

實作

1. 環境 .net 4 framework以上

2. 在App_Code目錄加入Web API控制器類別

image

該Controller類別裡預設

Get Method對應 讀取

Post Method對應 新增

Put Method對應 修改

Delete Method對應 刪除

image

3. 為專案加入Global.asax並撰寫以下程式碼


<%@ Application Language="C#" %>
<%@ Import Namespace="System.Web.Routing" %>
<%@ Import Namespace="System.Web.Http" %>
<%@ Import Namespace="System.Net.Http" %>

<script runat="server">

    void Application_Start(object sender, EventArgs e) 
    {
        // 在應用程式啟動時執行的程式碼
         RouteTable.Routes.MapHttpRoute(
           name: "DefaultApi",
               routeTemplate: "api/{controller}/{id}",
               defaults: new { id = System.Web.Http.RouteParameter.Optional }
          );

    }
       
</script>

這樣就完成,很簡單,不需UI畫面

按下F5執行即可,如果發生System.Net.Http未加入參考的錯誤訊息,可能是Visual Studio沒掃描到System.Net.Http.dll,我是把第四行那段重新刪除貼上執行就可以通過

執行結果:

image

如果想一律輸出Json字串的話,在Global.asax加入一行「GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();」即可

image

執行結果:

image

 

Web API觀念介紹請參考其他網友文章,小弟文筆不好,就不在這邊累述

ASP.NET Web API 心得筆記 (2) REST 入門簡介 by KKBruce

Using ASP.NET Web API with ASP.NET Web Forms

如何讓 ASP.NET Web API 無論任何要求都回應 JSON 格式 by 保哥

ASP.NET Web API 如何透過程式決定回應XML或JSON格式 by 保哥