2011-04-12 51 views
0

我有一个web服务'mywebservice'和一个web方法'mywebmethod'定义在其中。 这个web方法调用另一个类中定义的函数'callme()'。 我想获取调用此函数的服务名称以及方法名称。我想在'callme()'函数中使用它。如何获得哪个web服务调用方法

- 'mywebservice.asmx.cs'

[WebMethod] 
public void mywebmethod 
{ 
    callme(); 
} 

- '的Class1.cs'

public void callme() 
{ 
    // --- I want service name(mywebservice) & methodname(mywebmethod) here. 
} 
+0

如果它是你的class1.cs实现什么阻止你从每个webmethod调用它传递这些参数,显然这不是最好的方法,但根据这个问题的细节,这看起来像最明显的。 '提供更多的细节和你为了更好的反应而尝试了什么' – 2011-04-12 04:51:37

+0

我不想从webmethod传递参数。我只想获取调用此函数的方法和服务名称。 – smartDev 2011-04-12 05:14:55

+0

为什么?在这两种情况下?为什么你不想传递参数?为什么你需要在调用方法中的服务名称和方法?这些原因是为了解真正的问题。 – 2011-04-12 05:26:12

回答

1

一种可能的方式可以是使用StackTrace类(见上手例如节)返回调用堆栈以获取类型名称&方法名称 - 这将为您提供实现该服务的类/方法的名称。

请注意,堆栈跟踪结构是一项昂贵的操作 - 因此,我建议将必要的信息作为参数传递给方法。此外,如果您可以说明您为什么需要此信息(服务&方法名称),则可能会得到更好的答案来解决您的实际问题。