Kentico UserInfoProvider не работает должным образом в консольном приложении
Этот код отлично работает на сайте Kentico:
var users = UserInfoProvider.GetUsers();
for (int x = 0; x < users.Count(); x++
{
UserInfo currentUser = users.ElementAt(x);
currentUser.SetValue("AcceptsAlerts", equivalentSubscriber.Status != SubscriberStatus.Unsubscribed);
UserInfoProvider.SetUserInfo(currentUser);
}
Когда я перемещаю код в консольное приложение, любые вызовы UserInfoProvider приводят к ошибке: «Тип объекта« cms.usersettings »не найден»
Для первоначального звонка, чтобы получить пользователей, я могу сделать это так в консольном приложении:
DataSet usersds = new CMS.DataEngine.DataQuery("cms.user.selectall").Execute();
затем переберите Table1 набора данных, используя пользовательские данные:
UserInfo currentUser = new UserInfo(dtUsers.Rows[x]);
Все хорошо и работает, пока я не приду, чтобы написать обновленного пользователя обратно в базу данных. Я не могу найти другой способ записи данных, кроме вызова:
UserInfoProvider.SetUserInfo(currentUser);
Кто-нибудь знает другой способ сохранения пользовательских данных? или для устранения ошибки. Ошибка является ошибкой во время выполнения, и, насколько я знаю, я ссылаюсь на все, что мне нужно. Поле, которое я редактирую, является настраиваемым полем, добавленным в таблицу cmsUser.
используя заявления для информации:
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using CMS;
using CMS.CustomTables;
using CMS.DataEngine;
using CMS.Membership;