wcf和asp.net通讯

时间:2011-03-22 04:29:59

标签: wcf

我正在创建一个网站。它有两个网页。我试图使用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 ..

3 个答案:

答案 0 :(得分:0)

由于不同的性质,WCF是无状态的。由于两个调用都被视为单独的调用,所以w.send(5)所做的事情不为w1.get()所知。

您可以将数据保存在某些状态机制(如表或文件)中,或者行为符合预期。

答案 1 :(得分:0)

虽然它是静态变量,但是当您创建新对象时,它将仅引用该特定对象。因此,当您使用一个对象设置一个变量的值并从其他对象获取值时,它将不会给出正确的值。 所以

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

不会工作。

答案 2 :(得分:0)

您如何托管服务?

如果您的服务托管在IIS中,则可能会在2次调用之间回收应用程序。在这种情况下,将重新创建应用程序域,静态成员将丢失其值。