0

我正在对静态 WebMethod 进行 ajax 调用,并且需要访问网页路径Server.MapPath......

但是由于实例变量在静态方法中不可访问。我们不能在里面使用 Page 属性WebMethod.

[WebMethod]
public static string GetLogs()
{        
   //Can't use Server.MapPath("Resource.xml");
}

此外,由于这是一个 AJAX 调用,因此无法使用其他变通方法,例如Server.MapPath在 Page_Load 期间将结果存储在用户定义的属性中等。将无法正常工作。

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

这个问题的解决方法是什么?

4

1 回答 1

0

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

using System.Web;
[WebMethod]
public static string GetLogs()
{        
    string resource = HttpContext.Current.Server.MapPath("Resource.xml");
}
于 2013-05-17T16:34:48.207 回答