2016-11-18 56 views
0

我們有一個應用程序,其中包含通過電子郵件(MailGun)嚮應用程序的用戶發送消息的多個組件(Web應用程序,Windows服務,Web API等) ,短信(Twilio)和自動電話(Twilio)。所有這些消息都包含實際發送消息時插入的動態信息(例如,名字,用戶名,時間戳等)。管理應用程序發出的所有消息的內容

所有消息的原始文本都存儲在項目中的.resx文件中的格式字符串中,該項目在所有組件之間共享。示例字符串可能看起來像"Hello {0}, you have a notification!",其中{0}在運行時使用string.Format替換爲用戶的名字。

該結構已導致擁有數百個難以維護的文本資源。是否有更好的方法/體系結構來管理這些類型的資源或處理動態通信?或者是否有任何工具/庫可以幫助簡化這種類型的功能?

+1

你可以將文本存儲在數據庫中嗎? – Botonomous

回答

1

Twilio開發者傳道這裏。儘管我沒有提供C#的經驗,但我曾經在大規模的Ruby on Rails應用程序中工作過,並且在處理具有插值的許多字符串時,我可以想到的最接近的等效方法是國際化。

在Rails中,這是通過提供一個yaml文件來處理的,該文件包含可以包含其他鍵(從而將消息定向到某些區域)的鍵和模板字符串。

雖然使用這種方法會減少文件的數量,但這一個文件可能會經歷常規更改,因此您的折衷就在那裏。

雖然只是一個想法。讓我知道它是否有幫助。

相關問題