我在我的解決方案中有一個Web服務項目和一個WPF項目(作爲客戶端)。Web方法執行後,Web服務類字段爲空?
代表Web服務的類是相當簡單的,看起來像這樣:
public class CardsGameService : System.Web.Services.WebService
{
private Card magicCard;
// Acts as a getter for magicCard field
[WebMethod]
public Card GetMagicCard()
{
return magicCard;
}
// Creates some random cards and sets the magicCard field
[WebMethod]
public Card[] GetNewCardSet()
{
Card[] cardSet = new Card[4];
for (int i = 0; i < 4; i++)
{
cardSet[i] = GetRandomCard();
}
Random random = new Random();
int index = random.Next(0, 3);
// This field does get its value and
// is not null when this method is executed
magicCard = cardSet[index];
return cardSet;
}
}
在我的客戶WPF代碼隱藏類,我實例化CardsGameServiceSoapClient service
,並調用返回的套牌的GetNewCardSet()
Web方法。
這裏的問題:
如果我要調用的Web方法GetMagicCard()
以後,它總是返回null
。 爲什麼?我只實例化CardsGameServiceSoapClient service
一次,此對象爲alive只要我運行我的客戶端應用程序。
更好的計劃:不要在Web服務中使用狀態。最佳計劃:如果可以,請升級到WCF。 – 2011-01-13 03:21:43