My Web Service называютASMX WebMethod вызовы не сохраняя значения переменных
public class Service : System.Web.Services.WebService
{
public Service() {
//Uncomment the following line if using designed components
//InitializeComponent();
}
private string password;
[WebMethod]
public void SetPassword(string pPassword)
{
password = pPassword;
}
private bool ValidPassword()
{
return (password == ConfigurationManager.AppSettings["Token"].ToString());
}
[WebMethod]
public DataSet GetAccountInfo(string account)
{
ValidPassword();
//logic here
}
Веб-страница делает вызов
Dim mySvc As New RNX.Service
mySvc.SetPassword("passwordhere")
Dim dsAcctInfo As DataSet = mySvc.GetAccountInfo(strAcct)
Оба метода выполняются просто отлично ... SetPassword заканчивается, а затем с помощью тот же объект веб-службы, тогда вызывающий объект запускает GetAccountInfo, который проверяет, является ли это ValidPassword().
Однако в это время переменная снова равна нулю ... как в, не сохраняя значение.
ASMX является наследием технологии, и не должны быть использованы для разработки новых. WCF следует использовать для всех новых разработок клиентов и серверов веб-сервисов. Один из намеков: Microsoft отстранила [ASMX Forum] (http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/threads) в MSDN. –