[英]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服務並將該文件存儲在新創建的應用程序的文件夾中?
我對這個概念很新,因此我不知道存儲在虛擬文件夾或類似的東西,我有建議這樣做,如果有人向我解釋這個概念,我將非常感激......
你有兩種方式:
為您的應用程序標識提供寫入權限以寫入c:\\json
文件夾,這不是一個好主意。
將代碼更改為使用相對路徑:
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.