2011-03-22 42 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() 

不會工作。