繁体   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