2015-10-09 71 views
0

我正在構建客戶端應用程序作爲.NET解決方案的一部分。由於它是一個前端SPA,這不是一個MVC應用程序;它只是使用節點工具的HTML和Javascript文件的集合。它將從WebAPI項目中提取RESTful數據。從web.config變量生成JSON文件

我想通過.NET構建配置文件,我希望能夠通過Web.config appSettingsapplicationSettings指定配置。因此,我想從這些web.config設置生成一個JSON文件。

我該怎麼做,而不必將我的網站轉移到一個完整的MVC網站?有沒有現成的工具? (我不能這樣做的原因是因爲我使用的是一個Javascript框架,它不適合MVC推薦的架構和目錄結構,我不是在尋找CSHTML文件或動態生成的Javascript)。

我在這裏問這個問題是因爲我的搜索只能找到適用於MVC和/或Razor視圖的解決方案,或者通過我沒有使用的捆綁器動態生成Javascript。還有一種方法可以通過Gulp任務閱讀web.config,但我不確定這是否也是我想要的方式。

謝謝。

編輯:我在VS2013上使用.NET 4.5。我覺得VS2015會更容易,因爲我認爲他們已經轉移到了JSON的一些項目設置。

編輯:這個問題在一定程度上關係到想我,但我不尋找一個明確的答案:What is the equivalent of web.config for JavaScript code?

+0

好,我不知道你的問題是 – Dalorzo

+0

你問什麼如何在Web配置,這是XML,轉換成JSON格式,而沒有其他的變化? – Nikki9696

+0

@ Nikki9696我想從AppSettings獲取特定的鍵,在應用程序啓動時將它們序列化爲JSON,並將文件寫入我的項目目錄。我基本上試圖避免必須將我的網站作爲ASP.NET MVC站點來服務,但我想根據Web.config(用於開發,測試和生產端點)更改我的API URL。我想知道是否有任何工具已經做了這樣的事情。 –

回答

1

在Global.asax中,你可以讀取Web配置的內容(取您感興趣的部分)作爲對象,然後使用JSON序列化程序將其序列化爲字符串並輸出到文件。

var test = Newtonsoft.Json.JsonConvert.SerializeObject(System.Configuration.ConfigurationMa‌​nager.AppSettings); 
+0

我認爲這是解決方案。我可以構建文件並使用SystemJS導入它。明天我會拍這張照片。 –

+0

此外 - 謝謝你如此愉快。我從過去沒有收到過。NET社區,所以非常感謝。 –

+0

我能夠通過將Appsettings NameValueCollection轉換爲字典進行序列化,然後將文件寫入AppDomainAppPath來獲得此工作。我不知道這是推薦的方式還是這種類型的最佳做法,但我有我需要的。謝謝。 –