国产探花免费观看_亚洲丰满少妇自慰呻吟_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:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青浦区| 乳源| 图们市| 武夷山市| 阿克苏市| 上思县| 北川| 开平市| 南投县| 盐城市| 白沙| 延寿县| 富裕县| 彩票| 株洲市| 四子王旗| 扬州市| 井研县| 左权县| 平塘县| 贺兰县| 观塘区| 资中县| 永春县| 科技| 慈利县| 广平县| 衡山县| 宁化县| 乌海市| 饶平县| 墨竹工卡县| 兰溪市| 大悟县| 龙泉市| 泾阳县| 息烽县| 平山县| 双辽市| 临武县| 五指山市|