2013-03-20 4 views
2

У меня есть страница с разделом комментариев. Этот раздел связывается с WebMethod, чтобы вставить новый комментарий.Использование FormsAuthentication на webMethod

[WebMethod] 
public static bool insertComment(string commentString) 
{ 
    //userName validation here 
    string userName = (FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value).Name); 

    return new CommentClass().InsertComment(commentString, userName); 
} 

Проблема заключается в том: «Ссылка на объект необходим для не-статического поля». Я знаю, что могу отправить информацию из скрытого поля или div, однако, это поле информации может быть легко изменено. Итак, какой способ можно использовать, чтобы узнать, какой пользователь отправляет, на стороне сервера? спасибо большое!

+0

Является ли 'Request' объектом, которому требуется ссылка? –

+0

Да! извините за это ... это единственная часть, которая требует ссылки. –

ответ

2

Request объект является экземпляром, который живет в Page, поэтому вам нужна ссылка для доступа к этому объекту в статическом контексте. Вы можете использовать HttpContext.Current.Request для доступа к Request в этом контексте.

[WebMethod] 
public static bool insertComment(string commentString) 
{ 
    //userName validation here 
    string userName = 
      (FormsAuthentication.Decrypt(
       HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName].Value).Name); 
    return new CommentClass().InsertComment(commentString, userName); 
} 
+0

Отлично! Я попробую. Спасибо брат! –

+0

Добро пожаловать :) –

Смежные вопросы