簡體   English   中英

將Web服務的輸出存儲在虛擬目錄中

[英]To store the output of web service in virtual directory

我創建了一個以JSON格式提供數據的Web服務,我將讀取此數據以創建高級圖表。 當我編寫這個Web服務時,我得到了字符串中的值,我將其序列化為JSON格式並將其存儲在系統上,但問題是當我將在遠程機器中部署我的Web服務時,我將面臨存儲問題的問題。文件,因為我提供了本地路徑,如下面的代碼所述,

System.IO.File.WriteAllText(@"C:\Json\Json.json", jSearializer.Serialize(modified_listofstrings));

任何人都可以建議我這樣做,以便我可以存儲這個文件,以便在遠程機器上部署我的Web服務后很容易訪問?

這是可能的還是我將不得不創建一個簡單的asp.net應用程序並使用該Web服務並將該文件存儲在新創建的應用程序的文件夾中?

我對這個概念很新,因此我不知道存儲在虛擬文件夾或類似的東西,我有建議這樣做,如果有人向我解釋這個概念,我將非常感激......

你有兩種方式:

  1. 為您的應用程序標識提供寫入權限以寫入c:\\json文件夾,這不是一個好主意。

  2. 將代碼更改為使用相對路徑:

     File.WriteAllText(System.Web.HttpContext.Current.Server.MapPath("/json"), "json-text"); 

Server.MapPath將虛擬目錄映射到OS中等效的絕對目錄。 例如,如果您的網站托管在c:\\websites\\json-project\\ ,則使用Server.MapPath("/foo")將轉換為c:\\websites\\json-project\\foo path。

默認情況下,任何ASP.NET應用程序都可以完全訪問其所有文件夾。

您可以通過提供類似Server.MapPath("/Json/Json.json")相對路徑來查找應用程序的物理路徑

有關更多信息,請查看下面的問題

Server.MapPath(“。”),Server.MapPath(“〜”),Server.MapPath(@“\\”),Server.MapPath(“/”)。 有什么區別?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM