WP7 Periodic Agent - разделяет пространство имен с основным приложением?

В моем основном приложении есть код, который вызывает веб-службу и получает некоторую информацию для вставки в живую плитку. Я хочу, чтобы плитка автоматически обновлялась с помощью периодического агента, однако я не хочу дублировать код, и мне нужно получить доступ к настройкам для аутентификации ...

Могу ли я просто изменить пространство имен моего агента планировщика, чтобы оно было таким же, как у моего основного приложения, чтобы я мог получить доступ к существующему коду / конфигурации?


person Daniel Devine    schedule 13.05.2012    source источник


Ответы (1)


Требование периодического агента состоит в том, чтобы ваш основной проект ссылался на проект периодического агента. Если вы забудете этот шаг, ваш агент не будет работать.

Из-за этого требования вы не можете ссылаться на основной проект из агента, иначе у вас будут циклические ссылки. Так что просто поместите свой общий код в проект агента и используйте его из основного проекта по мере необходимости. Если вы хотите сделать вещи чище, вы даже можете создать третий проект, на который будут ссылаться как основной проект, так и проект агента.

person Kevin Gosse    schedule 13.05.2012
comment
Спасибо, как мне передать данные пользователя агенту? Агенту необходимо знать такую ​​информацию, как имя пользователя, пароль и ключ API. Могу ли я сделать так, чтобы агент сохранил эти данные, а затем получил доступ к ним из основного приложения? - person Daniel Devine; 13.05.2012
comment
Конечно. Если вы храните их в изолированном хранилище, то и агент, и основное приложение смогут получить к нему доступ. - person Kevin Gosse; 13.05.2012
comment
Извините, я новичок во всей этой штуке, посвященной C # / WP7. Я не понимаю, как я на самом деле получаю доступ к коду в проекте агента из основного проекта. Можете дать ссылку на пример? - person Daniel Devine; 13.05.2012
comment
Я думаю, что вам не хватает справочной части. В Visual Studio щелкните правой кнопкой мыши основной проект, выберите «Добавить ссылку», перейдите на вкладку «Проекты» и выберите проект агента. Теперь вы можете использовать из основного проекта классы, которые хранятся в проекте агента, если они объявлены как общедоступные. - person Kevin Gosse; 13.05.2012
comment
Ну конечно! Я не могу сейчас проверить это, но это кажется очень многообещающим. - person Daniel Devine; 13.05.2012
comment
Это работает, спасибо! Хотя, с точки зрения процесса проверки приложения MS, возникнут ли здесь какие-либо проблемы? - person Daniel Devine; 14.05.2012
comment
Нисколько. Нет ограничений на добавление ссылки на другой проект Windows Phone. - person Kevin Gosse; 14.05.2012