Home Tags V-NAND

Tag: V-NAND

- Advertisement -
Google search engine

APLICATIONS

傳遞資訊到前端的通用型服務 (.NET MVC 5 – Ch.11)

0
到目前為止,已經介紹了很多屬於基礎建設的部份。從核心的DI用Autofac開始,再到那裡都使用的到的Log服務。再來介紹了ViewModel和如何透過框架來讓對應變得更加簡單。最後介紹了透過Repository 和 Unit of work,使得實際的DAL層級能夠被abstraction出來。 在這一篇,將會介紹比較偏向Controller層級的內容,也就是每一個application一定會使用到的:如何提供一種一致性的服務用於從Server傳遞訊息到客戶端? 同步發表於我的部落格:http://alantsai2007.blogspot.tw/2014/10/BuildYourOwnApplicationFrameworkOnMvc-11-alertservice.html 如何從後端傳遞訊息到前端 所謂傳遞訊息到前端的意思是,通常來說每當一個功能執行完成之後,一定會提供一些feedback給user。例如,新增一筆資料成功,系統可能會用一個alert訊息來顯示「新增成功」。 因為這個功能非常通用,因此Mvc裡面有一個特殊的儲存空間叫做TempData。有別於ViewData只能保存一次的request值到View裡面,TempData 底層也是用Session來儲存,但是有別於Session在,當TempData的值被讀過,那一筆資料就會被清掉。 因此,TempData非常適合用來存這一種一次性的feedback訊息,顯示完之後就不需要了。 使用TempData的難處 TempData很適合存一次性資訊,但是實際在開發的時候不是那麼方便。在一個多人團隊開發的情況可能有以下幾個情況: 在沒有講好的情況下,每個人使用的TempDataKey不一樣:開發者A可能使用message作為key,但是開發者B可能使用messages。要設定錯誤訊息的時候不方便:Action裡面設定TempData其實不是很好用。 因此這一次我們會建制一個AlertService來提供一個好用的傳遞訊息的方式。 AlertService功能概念 基本上我們會先建立一個用來封轉要顯示在前端的訊息ViewModel。這個ViewModel只有兩個Property,一個是Message:代表要顯示的訊息,還有一個是 AlertClass:也就是這個訊息要顯示的樣式。 為了能夠讓設定要傳遞的訊息更加簡單,將會建立一個AlertDecoratorActionResult,這個特別的ActionResult只是讓設定訊息更加的方便。同時,為了讓使用這個 ActionResult更加的方便,會在建立對應的4個Extension 方法,方便建立AlertViewModel。 最後,會建立屬於View的部份,並且使用bootstrap的alert container來顯示不同層級的訊息。 將會實作的Class Diagram 實作功能 有了上面的介紹,應該有了基本要建造的功能內容,就來看看如何實作。 AlertViewModel 首先先定義ViewModel的樣子: /// <summary> /// 用來代表一筆需要顯示的Alert資訊ViewModel /// </summary> public class AlertViewModel { /// <summary> ...

HOT NEWS