.net 是否可以从WCF服务中的静态构造函数调用实例方法?
是否可以从WCF服务中的静态构造函数调用实例方法?是否有类似于当前上下文的东西可以让我获得MyService的当前实例.net 是否可以从WCF服务中的静态构造函数调用实例方法?,.net,wcf,static-constructor,.net,Wcf,Static Constructor,是否可以从WCF服务中的静态构造函数调用实例方法?是否有类似于当前上下文的东西可以让我获得MyService的当前实例 public class MyService : IMyService { static MyService() { //how to call Func? } private void Func() { } } 编辑: 这个问题是WCF问题,而不是关于从静态方法调用实例方法的简单语言问题。以下是web应用程序
public class MyService : IMyService
{
static MyService()
{
//how to call Func?
}
private void Func()
{
}
}
编辑:
这个问题是WCF问题,而不是关于从静态方法调用实例方法的简单语言问题。以下是web应用程序中类似情况的示例:
public class MyPage : Page
{
static MyPage()
{
var page = (MyPage)HttpContext.Current.Handler;
page.Func();
}
private void Func()
{
}
}
因此,我希望在WCF中,虽然对服务的调用存在一些全局上下文,其中包含当前正在执行的MyService实例。在这里取出WCF服务-这不是WCF qwuestion,而是一个纯粹的基本C语言问题。与类作为一种服务无关 答案是否定的
静态构造函数无权调用实例函数-它没有实例的引用。更改类设置,使其不再是必需的。设计错误。很可能代码不应该是静态构造函数,而是在实例构造函数中。不可能从静态构造函数调用实例方法。您不知道CLR何时会调用此静态构造函数。您所知道的是,它将在创建此对象的任何实例之前被调用。如果没有对象的实例,就不能调用实例方法。嗯,这是可能的。你能解释一下你为什么需要这个吗
public class MyService : IMyService
{
static MyService()
{
new MyService().Func();
}
private void Func()
{
}
}