如何在WebMethod中获取项目中包含的Xml文件路径

时间:2013-05-17 15:36:47

标签: c# asp.net ajax

我正在调用静态WebMethod&需要访问网页路径.. Server.MapPath

但是因为实例变量在静态方法中是不可访问的。我们无法在WebMethod.

中使用Page属性
[WebMethod]
public static string GetLogs()
{        
   //Can't use Server.MapPath("Resource.xml");
}

此外,因为这是一个AJAX调用,所以不能使用其他工作,比如在Page_Load等期间将Server.MapPath结果存储在用户定义的属性中是不行的。

我发现这是一个不可避免的问题,我迟早需要访问WebMethod中的页面实例变量,但在AJAX调用期间无法访问它们。

该问题的解决方法是什么?

1 个答案:

答案 0 :(得分:0)

您应该能够以这种方式使用Server.MapPath的静态实例:

using System.Web;
[WebMethod]
public static string GetLogs()
{        
    string resource = HttpContext.Current.Server.MapPath("Resource.xml");
}