и в вашем web.config:
ирую службу аутентификации, которая имеет несколько методов. Одним из методов является ChangePassword. Я хочу, чтобы когда кто-либо захотел изменить пароль, войдите в систему до этого. Для этого я хочу иметь идентификатор сеанса и перед изменением пароля проверьте его.
Как я могу это сделать, и у меня есть время ожидания этого сеанса?
РЕДАКТИРОВАТЬ 1)
Я пишу этот код, но мой сеанс равен нулю каждый раз, когда я хочу получить его значение:
Класс:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class Service2 : IService2
{
string result
{ // Store result in AspNet session.
get
{
if (HttpContext.Current.Session["Result"] != null)
return HttpContext.Current.Session["Result"].ToString();
return "Session Is Null";
}
set
{
HttpContext.Current.Session["Result"] = value;
}
}
public void SetSession(string Val)
{
result = Val;
}
public string GetSession()
{
return result;
}
интерфейс:
[ServiceContract(SessionMode = SessionMode.Required)]
public interface IService2
{
[OperationContract]
void SetSession(string Val);
[OperationContract]
string GetSession();
}
web.config
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" />
РЕДАКТИРОВАТЬ 2) Я написал этот код, но он не работает:
private void button1_Click(object sender, EventArgs e)
{
MyService2.Service2Client srv = new MyService2.Service2Client();
textBox1.Text = srv.GetSession();
}
private void button2_Click(object sender, EventArgs e)
{
MyService2.Service2Client srv = new MyService2.Service2Client();
srv.SetSession(textBox1.Text);
textBox1.Clear();
}
каждый раз, когда я хочу получить значение сеанса, я получаю "Session Is Null". Почему?