2009-10-01 4 views
1

У меня есть веб-сайт, который представляет пользователя в SharePoint простой кнопкой. При нажатии кнопки я регистрирую пользователя, который нажал на него, время и IP-адрес. Я не могу понять, как найти свой IP-адрес? Могу ли я добраться до него через объектную модель SharePoint или мне нужно сделать что-то более сложное?Как найти IP-адрес пользователя в SharePoint

private bool SignInCurrentUser() 
     { 
      SPWeb web = SPContext.Current.Web; 
      SPUser user = web.CurrentUser; 
      String address = "?"; 

      SPList regList = web.Lists["SEED MEng Lab Registration List"]; 

      SPListItem registration = regList.Items.Add(); 
      registration["Student"] = user; 
      registration["Occurrence"] = DateTime.Now; 
      registration["IP Address"] = address; 
      registration.Update(); 

      return true; 
     } 
+0

похоже: http://stackoverflow.com/questions/735350/how-to-get-user-client-ip-address-in-asp-net –

+0

Я допустил ошибку в своем коде, который я отредактировал , Практика SharePoint позволяет вам избавляться от SPWeb и т. Д. Всякий раз, когда вы их используете. В этом случае нет. Здесь вы не создаете SPWeb, а только ссылаетесь на него. Пытаться избавиться от SPWeb в такой функции, это испортит ваш сеанс. –

ответ

2

Я не думаю, что это подвергается с помощью SharePoint API, однако стандартные методы ASP.NET (см one и two) должны это сделать.

Пробег: HttpRequest.UserHostAddress.

+0

Доступ к нему можно получить через Context.Request.UserHostAddress внутри веб-части. благодаря –

0

Попробуйте System.Web.UI.Page.Request.UserHostAddress.

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