2011-03-22 44 views
0

我正在创建一个网站。它有两个网页。我试图通过使用WCF的两个页面之间的值..wcf和asp.net通信

WCF有两个功能

static int a; 
void send(int b) 
    { 
    a=b; 
    } 
int get() 
    { 
    return a; 
    } 

class1的创建WCF(说w)的一个对象,并调用w.send(5)

的Class2创建WCF一个对象(比如W1)并调用= w1.get()

但是通过改变的Class1的值是没有得到反映在等级2 ..

回答

0

你是如何托管你的服务?

如果您的服务托管在IIS中,则有可能在两次调用之间回收应用程序。在这种情况下,应用程序域将被重新创建,并且静态成员会释放它们的值。

0

通过改变性质WCF是统计eless ..由w.send(5)完成的操作并不知道w1.get(),因为这两个调用都被视为单独的调用。

要么将​​数据保存在某种状态机制(如表或文件)中,要么其行为如预期。

+0

除了他/她将值存储在一个静态变量中,所以它应该在调用之间保持不变(注意:我不是建议这是分享数据的好方法,但它应该可以工作) – 2011-03-22 05:32:05

0

尽管它是静态变量,但是当您创建新对象时,它只会引用该特定对象。所以当你用一个对象设置一个变量的值并从其他对象获得值时,它不会给出正确的值。 所以

w.send(5) 
a= w1.get() 

不会工作。