我有40种不同网络方法的网络服务。 我可以使用HttpContext从我的Web服务中获取请求发送的方法吗?
我需要它,因为我有一个抽象的通用命令,所有方法都激活,我只能访问HttpContext。
谢谢!
答案 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始终仅对当前请求有效,因此您可以将其用作任何请求相关信息的存储。
当请求被响应时,它是垃圾。