我创建了一个以JSON格式提供数据的Web服务,我将读取此数据以创建高级图表。当我编写这个Web服务时,我得到了字符串中的值,我将其序列化为JSON格式并将其存储在系统上,但问题是当我将在远程机器中部署我的Web服务时,我将面临存储问题的问题。文件,因为我提供了本地路径,如下面的代码所述,
System.IO.File.WriteAllText(@"C:\Json\Json.json", jSearializer.Serialize(modified_listofstrings));
任何人都可以建议我这样做,以便我可以存储此文件,以便在远程计算机上部署我的Web服务后可以轻松访问该文件吗?
这可能吗?或者我将不得不创建一个简单的asp.net应用程序并使用该Web服务并将该文件存储在新创建的应用程序的文件夹中?
我对这个概念很新,因此我不知道存储在虚拟文件夹或类似的东西,我有建议这样做,如果有人向我解释这个概念,我将非常感激...... / p>
答案 0 :(得分:1)
您有两种方式:
授予您的应用程序标识写入权限以写入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
路径。
默认情况下,任何ASP.NET应用程序都可以完全访问其所有文件夹。
答案 1 :(得分:1)
您可以通过提供类似Server.MapPath("/Json/Json.json")
有关更多信息,请查看以下问题