三、配置選項 真正的應用開發總是會使用到配置選項,如演示程序中性能指標采集的時間間隔就應該采用配置選項的方式來指定。由於涉及對性能指標數據的發送,所以最好將發送的目標地址定義在配置選項中。如果有多種傳輸協議可供選擇,就可以定義相應的配置選項。.NET Core應用推薦采用Options模式來使 ...
借助.NET Core提供的承載 Hosting 系統,我們可以將任意一個或者多個長時間運行 Long Running 的服務寄宿或者承載於托管進程中。ASP.NET Core應用僅僅是該承載系統的一種典型的服務類型而已,任何需要在后台長時間運行的操作都可以定義成標准化的服務並利用該系統來承載。 一 承載長時間運行服務 一個ASP.NET Core應用本質上是一個需要長時間運行的服務,開啟這個服務 ...
2020-03-02 11:17 7 4584 推薦指數:
三、配置選項 真正的應用開發總是會使用到配置選項,如演示程序中性能指標采集的時間間隔就應該采用配置選項的方式來指定。由於涉及對性能指標數據的發送,所以最好將發送的目標地址定義在配置選項中。如果有多種傳輸協議可供選擇,就可以定義相應的配置選項。.NET Core應用推薦采用Options模式來使 ...
我們在《總體設計[上篇]》和《總體設計[下篇]》中通過對IHostedService、IHost和IHostBuider這三個接口的介紹讓讀者朋友們對服務承載模型有了大致的了解。接下來我們從抽象轉向具體,看看承載系統針對該模型的實現是如何落地的。要了解承載模型的默認實現,只需要了解IHost接口 ...
前面的實例演示了服務承載的基本編程模式,接下來我們從設計的角度來重新認識服務承載模型。總的來說,服務承載模型主要由如下圖所示的三個核心對象組成:多個通過IHostedService接口表示的服務被承載於通過IHost接口表示的宿主上,IHostBuilder接口表示IHost對象的構建 ...
實際上HostBuilder對象並沒有在實現的Build方法中調用構造函數來創建Host對象,該對象利用作為依賴注入容器的IServiceProvider對象創建的。為了可以采用依賴注入框架來提供構建的Host對象,HostBuilder必須完成前期的服務注冊工作。總地來說,HostBuilder ...
在了解了作為服務宿主的IHost接口之后,我們接着來認識一下作為宿主構建者的IHostBuilder接口。如下面的代碼片段所示,IHostBuilder接口的核心方法Build用來提供由它構建的IHost對象。除此之外,它還具有一個字典類型的只讀屬性Properties,我們可以將它視為一個共享 ...
借助 .NET提供的服務承載(Hosting)系統,我們可以將一個或者多個長時間運行的后台服務寄宿或者承載我們創建的應用中。任何需要在后台長時間運行的操作都可以定義成標准化的服務並利用該系統來承載,ASP.NET Core應用最終也體現為這樣一個承載服務。(本篇提供的實例已經匯總到《ASP.NET ...
借助 .NET提供的服務承載(Hosting)系統,我們可以將一個或者多個長時間運行的后台服務寄宿或者承載我們創建的應用中。任何需要在后台長時間運行的操作都可以定義成標准化的服務並利用該系統來承載,ASP.NET Core應用最終也體現為這樣一個承載服務。(本篇提供的實例已經匯總到《ASP.NET ...
與服務注冊一樣,針對配置的設置同樣可以采用三種不同的編程模式。第一種是利用WebApplicationBuilder的Host屬性返回的IHostBuilder對象,它可以幫助我們設置面向宿主和應用的配置。IWebHostBuilder接口上面同樣提供了一系列用來對配置進行設置的方法 ...