【发布时间】:2013-07-29 05:41:06
【问题描述】:
我有一个静态方法,我想在其中提取请求的querystring 值。但是当我从webmethod 调用它时,它给了我null 的价值。下面是一些代码
public static int GetLatestAssetId()
{
int itemid=0;
if (HttpContext.Current.Request.QueryString["itemId"] != null)
itemid = Convert.ToInt32(HttpContext.Current.Request.QueryString["itemId"]);
return itemid;
}
[WebMethod]
public static string GetContactData()
{
GetLatestAssetId();
return "Success"
}
我从 ajax 调用中调用了这个 webmethod。它在页面加载中工作正常,但在静态方法中却不行。我如何在静态方法中使用它。请帮忙。
【问题讨论】:
-
这段代码的上下文是什么?不管是不是静态方法;重要的是:这是什么thread?您现在是否可能处于 ASP.NET 管道之外的某个回调线程或事件/计时器线程上?
-
它是简单的静态方法。我从 webmethod 调用这个函数
-
再一次,它是静态的这一事实是无关紧要的; 调用这个静态方法的代码是什么?这里重要的是调用上下文
-
从Webmethod调用这个函数
-
有没有机会显示更多的调用代码?例如,这是异步
[WebMethod]对的EndXXXX方法吗?
标签: c# asp.net static-methods webmethod pagemethods