我正在创建一个网站。它有两个网页。我试图使用wcf ..
在两个页面之间传递值WCF有两个功能
static int a;
void send(int b)
{
a=b;
}
int get()
{
return a;
}
class1为wcf(比方说w)创建一个对象,并调用w.send(5)
class2为wcf创建一个对象(比如w1)并调用a = w1.get()
但是class1改变的值没有反映在class2 ..
答案 0 :(得分:0)
由于不同的性质,WCF是无状态的。由于两个调用都被视为单独的调用,所以w.send(5)所做的事情不为w1.get()所知。
您可以将数据保存在某些状态机制(如表或文件)中,或者行为符合预期。
答案 1 :(得分:0)
虽然它是静态变量,但是当您创建新对象时,它将仅引用该特定对象。因此,当您使用一个对象设置一个变量的值并从其他对象获取值时,它将不会给出正确的值。 所以
w.send(5)
a= w1.get()
不会工作。
答案 2 :(得分:0)
您如何托管服务?
如果您的服务托管在IIS中,则可能会在2次调用之间回收应用程序。在这种情况下,将重新创建应用程序域,静态成员将丢失其值。