在我的Asp.Net页面中,我有一个web方法将一些数据发送到另一页面,对于这种方法,我必须提供路径,如下所示:
string Path => Server.MapPath(@"\myPath1");
[System.Web.Services.WebMethod]
[ScriptMethod(UseHttpGet = true)]
public static string GetAvailability()
{
//xdocDetail = XDocument.Load(Path); //THIS DO NOT WORK, NEEDS STATIC STRING
xdocDetail = XDocument.Load(@"C:\Users\Eggii\Source\Repos\adm_app3\ADM_App\Content\Xmls\Detail.xml");
List<DetailList> availabilityList = (from detail in xdocDetail.Descendants("Product")
select new DetailList
{
Detail6 = (string)detail.Element("Availability") ?? "Unknown",
}).ToList();
return JsonConvert.SerializeObject(availabilityList.Select(x => x.Detail6));
}
但是我不想在我的方法中使用丑陋的完整路径,是否有可能以某种方式获得此网络方法的相对路径?还是其他更好的解决方案?
如果内容存储在项目中,则可以使用AppDomain.CurrentDomain.BaseDirectory,该目录包含ASP.NET中的应用程序根目录。看起来像:
xdocDetail = XDocument.Load(AppDomain.CurrentDomain.BaseDirectory+Path)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句