Как получить информацию о пользователе из WebContext? - PullRequest
2 голосов
/ 29 июля 2010

В моем приложении SL используется аутентификация окон.

Когда приложение запущено, следующий код добавляет информацию о пользователе в colloection:

 public App()
    {
        InitializeComponent();

        // Create a WebContext and add it to the ApplicationLifetimeObjects
        // collection.  This will then be available as WebContext.Current.

        WebContext webContext = new WebContext();
        webContext.Authentication = new WindowsAuthentication() { DomainContext = new AMSRIAServices.Web.AuthenticationContext() };
        this.ApplicationLifetimeObjects.Add(webContext);
    }

Затем в любом коде позади пользовательского элемента управления я хочу получить информацию о пользователе.Я пытался использовать WebContext.Current.User, но ничего не получил.Как получить информацию о пользователе из Application.Current.ApplicationLifetimeObjects в коде?

Ответы [ 2 ]

0 голосов
/ 11 ноября 2010

Я думаю, что в Application_Startup вам нужно сделать LoadUser:

WebContext.Current.Authentication.LoadUser ();

, хотя у меня возникает похожая проблема с загрузкой пользователя.Но я использую формы аутентификации.Если вы создаете бизнес-приложение Silverlight и просматриваете app.xaml.cs, вы можете увидеть пример того, как это сделать.

Дайте мне знать, работает ли он у вас с аутентификацией Windows.

0 голосов
/ 29 июля 2010

Типичным шаблоном будет включение статического свойства с именем Current в ваш тип контекста, а затем присвоение его при методе StartService.

public class MyWebContext : IAppicationService
{

   public MyWebContext Current {get; private set}


   public void StartService(ApplicationServiceContext context)
   {
      Current = this;
      // Other initialisation code
   }
   // Rest of implementation

}

Следовательно, получить доступ к вашему объекту webContext просто: -

MyWebContext.Current.DoStuff();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...