如何通过HttpContext调用Web服务方法?

时间:2012-03-21 10:30:14

标签: c# web-services http httpcontext

我有40种不同网络方法的网络服务。 我可以使用HttpContext从我的Web服务中获取请求发送的方法吗?

我需要它,因为我有一个抽象的通用命令,所有方法都激活,我只能访问HttpContext。

谢谢!

2 个答案:

答案 0 :(得分:3)

如果我理解您的问题是正确的,您可以使用HttpRequest的{​​{3}}属性:

string methodName = HttpContext.Current.Request.PathInfo;

字符串methodName将是带有斜杠前缀(/)的方法名称:"/MyWebMethod"

答案 1 :(得分:-1)

您可能需要:

HttpContext.Current

但请确保您已启用ASPX兼容模式,否则您将无法访问该属性

您还可以将函数名称保存到Items数组中,如下所示:

void myServiceMethod()
{
  HttpContext.Current.Items["MethodName"] = "myServiceMethod";
  // ...
  // here comes your method implementation
}

然后您可以在任何地方阅读HttpContext.Current.Items["MethodName"]

colection HttpContext.Current.Items始终仅对当前请求有效,因此您可以将其用作任何请求相关信息的存储。

当请求被响应时,它是垃圾。