我在我的解决方案中有一个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