国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

[ASP.NET Web API]如何Host定義在獨立程序集中的Controller

2019-11-17 01:28:30
字體:
來源:轉載
供稿:網友

[asp.net Web API]如何Host定義在獨立程序集中的Controller

通過《ASP.NET Web API的Controller是如何被創建的?》的介紹我們知道默認ASP.NET Web API在Self Host寄宿模式下用于解析程序集的AssembliesResolver是一個DefaultAssembliesResolver對象,它只會提供當前應用程序域已經加載的程序集。如果我們將HttpController定義在非寄宿程序所在的程序集中(實際上在采用Self Host寄宿模式下,我們基本上都會選擇在獨立的項目定義HttpController類型),即使我們將它們部屬在宿主程序運行的目錄中,宿主程序啟動的時候也不會主動去加載這些程序集。由于當前應用程序域中并不曾加載這些程序集,HttpController類型解析將會失敗,HttpController的激活自然就無法實現。[本文已經同步到《How ASP.NET Web API Works?》]

我們可以通過一個簡單的實例來證實這個問題。我們在一個解決方案中定義了如右圖所示的4個項目,其中Foo、Bar和Baz為類庫項目,相應的HttpController類型就定義在這3個項目之中。Hosting是一個作為宿主的控制臺程序,它具有對上述3個項目的引用。我們分別在項目Foo、Bar和Baz中定義了三個繼承自ApiController的HttpController類型FooController、BarController和BazController。如下面的代碼片斷所示,我們在這3個HttpController類型中定義了唯一的Action方法Get并讓它返回當前HttpController類型的AssemblyQualifiedName。

   1: public class FooController : ApiController
   2: {
   3:     public string Get()
   4:     {
   5:         return this.GetType().AssemblyQualifiedName;
   6:     }
   7: }
   8:  
   9: public class BarController : ApiController
  10: {
  11:     public string Get()
  12:     {
  13:         return this.GetType().AssemblyQualifiedName;
  14:     }
  15: }
  16:  
<PRe style="border-top-style: none; overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 郸城县| 南皮县| 贺兰县| 九寨沟县| 东方市| 永德县| 柳江县| 文登市| 大姚县| 武平县| 凉城县| 佛山市| 牟定县| 富民县| 洮南市| 沅陵县| 容城县| 微博| 安义县| 涞源县| 德钦县| 峨眉山市| 田东县| 丹江口市| 张家界市| 河曲县| 疏勒县| 蒙阴县| 改则县| 蒙自县| 浮梁县| 延庆县| 辛集市| 泌阳县| 五华县| 探索| 新巴尔虎右旗| 梁平县| 昭觉县| 琼结县| 莆田市|