1. 程式人生 > >ASP.NET Aries 高階開發教程:如何寫WebAPI介面

ASP.NET Aries 高階開發教程:如何寫WebAPI介面

前提:

最近,有不少同學又問到,Aries裡如何提供WebAPI介面?

針對這個問題,今天給順路寫個教程,其實呢,很簡單的。

方式一:直接用WebService提供介面。

用這種方式,直接新增介面就可以了,Aries只是預設處理了.html字尾的請求。對於WS的asmx字尾是沒有影響的,所以傳統怎麼新增就怎麼新增。

 

方式二:單獨用Taurus.MVC寫一個介面專案。

用這種方式,就是把介面獨立成一個專案,然後通過IIS部署成子應用程式就可以了。

只是部署成子應用程式的時候,需要注意一下子目錄和根目錄的web.config,出現重複的只能留根目錄的那個。

(一般都會建議使用者用這種方式,好處是可以在IIS裡學會一下怎麼部署子應用程式。)

方式三:在Aries引入Taurus.MVC即可。

這個方式,其實也很簡單,下面介紹一下簡單的部署:

1、引用Taurus.MVC用於寫WebAPI:

在Web.UI專案新增引用Taurus.Core.dll(可以在Nuget上引用,也可以引用原始碼專案再引用專案)

2、配置Taurus.MVC的兩個必備項:

A、在HttpModule中新增URL攔截。

//這是原來有的: 
<add name="Aries.Core" type="Aries.Core.UrlRewrite,Aries.Core" />
//這是新新增的:
 <add name="Taurus.Core" type="Taurus.Core.UrlRewrite,Taurus.Core"/>

B、在AppSetting中設定路徑模式:

<!--配置模式【值為0,1或2】[預設為1]
      值為0:匹配{Action}/{Para}
      值為1:匹配{Controller}/{Action}/{Para}
      值為2:匹配{Module}/{Controller}/{Action}/{Para}-->
    <add key="Taurus.RouteMode" value="1"/>

C、在AppSetting中設定介面程式碼所在的專案:

<!--指定控制器所在的專案(Dll)名稱(可改,專案編繹的dll叫什麼名就寫什麼)
    <add key="Taurus.Controllers" value="Taurus.Controllers"/>-->

 

如果是用Nuget上引用的,預設都會有上面的兩個,其它預設生的,可以註釋掉。

3、開始寫應用介面程式碼:

介面程式碼寫在哪裡呢?放在哪個專案都可以,只要上面C點的配置指向就可以了,如果介面程式碼分散在多個專案中,配置的value可以用“逗號”分隔。

按Taurus.MVC的方式寫介面,繼承自Taurus.Core.Controller即可:

如:

  /// <summary>
    /// API 介面
    /// </summary>
    public  class APIController : Taurus.Core.Controller
    {
        public void Hello()
        {
            Write("hello Controllers.API");
        }
    }

介面訪問:http://.../api/hello

總結說明:

Aries中預設處理的是.html字尾。

Taurus預設處理的是無後綴。

所以兩者並無衝突,直接引用,加配置就可以了,沒你想的復