Здравствуйте, aka50, Вы писали:
A>Блин, на запрос GetNewData тоже самое отвечает.
Ясен байт, там один и тот же метод вызывается...
Я там все причесал, явных багов нет, и немного переделал, но выложить не могу, отсюда SVN не работает, так что скорее всего до конца недели придется потерпеть...
Здравствуйте, Merle, Вы писали:
_FR>>Таких пользователей наберётся не больше десятка. И в первую очередь эта функция будет интересна в отношении "своих" сообщений. M>В top 100 рейтинга активности у 99го под 2000 сообщений. Это примерно как ручной тормоз на сервере включить. M>При этом, на самом деле, функция будет интересна не только в отношении своих сообщений, а скорее в отношении широко известных людей из top-а. M>Сдается мне, что, например, желающих закачать все топики Kodt-а будет гораздо больше чем желающих закачать все свои...
_FR>>По этим параметрам возможно выкачать подходами, зависящими от возможностей канала клиента. M>Упирается все не в канал клиента, а в сервер. Ты думаешь мы просто по прихоти своей ограничили количество выкачиваемых сообщенй 1000 при синхронизации? Нас канал клиента мало волнует, нас волнует тот факт, что когда кто-то поднимает Win vs Lin серверу плохеет.
_FR>>Уже обсуждалось, что "Win vs Lin" — это ~5Мб — и около 5000 тысяч сообщений. Подобных топиков так же с десяток-два... И разок потерпеть, ИМХО, совсем не больно. M>Ты это серверу объясни. Это для тебя разок, а для сервера это несколько тысяч закачек.
Убил на повал Об этом я конечно же не думал
Вопрос снимается.
_FR>Ведь оценками же не только выражают отношение к сообщению, но и отмечают вниманием "нужные" топики, к которым было бы не лишне потом как-нибудь вернуться, дать на них кому-либо ссылку, попросту процитировать. Такая система гораздо гибче избранного, так как даёт больше уровней ранжирования и _намного_ быстрее позволяет выделить (для себя!) сообщение. И поэтому пользовалась бы "на ура" теми, кто какое-то время сиел в онлайне, а потом перебрался на Янус.
Я бы предложил синхронизацию "Избранного" Янусовского и серверного...
Здравствуйте, Merle, Вы писали:
M>Здравствуйте, aka50, Вы писали:
A>>Блин, на запрос GetNewData тоже самое отвечает. M>Ясен байт, там один и тот же метод вызывается...
M>Я там все причесал, явных багов нет, и немного переделал, но выложить не могу, отсюда SVN не работает, так что скорее всего до конца недели придется потерпеть...
Жаль... но бум ждать. А то клиента надо дальше делать... а сервис не рабочий.
Здравствуйте, aka50, Вы писали:
A>Жаль... но бум ждать. А то клиента надо дальше делать... а сервис не рабочий.
Вот классы, с комментариями, чтобы не скучно было:
/// <summary>
/// Группа форумов, для януса.
/// </summary>
[Serializable]
public class JanusForumGroupInfo
{
/// <summary>
/// ID группы форумов
/// </summary>
[MapField("ID_ForumGroup")]
public int forumGroupId;
/// <summary>
/// Имя группы форумов
/// </summary>
[MapField("Name")]
public string forumGroupName;
/// <summary>
/// порядок сортировки
/// </summary>
[MapField("sortOrder")]
public int sortOrder;
}
/// <summary>
///Описание форума, для януса.
/// </summary>
[Serializable]
public class JanusForumInfo
{
/// <summary>
/// ID форума
/// </summary>
[MapField("ID_Forum")]
public int forumId;
/// <summary>
/// ID группы форумов
/// </summary>
[MapField("ID_ForumGroup")]
public int forumGroupId;
/// <summary>
/// короткое имя форума
/// </summary>
[MapField("shortForumName")]
public string shortForumName;
/// <summary>
/// полное имя форума
/// </summary>
[MapField("forumName")]
public string forumName;
/// <summary>
/// оценивается ли форум
/// </summary>
[MapField("rated")]
public int rated;
/// <summary>
/// участвует ли оценки этого форума в топе
/// </summary>
[MapField("InTop")]
public int inTop;
/// <summary>
/// лимит оценки в форуме
/// </summary>
[MapField("rateLimit")]
public int rateLimit;
}
/// <summary>
/// Данные о форуме необходимые для запроса сообщений
/// </summary>
[Serializable]
public class RequestForumInfo
{
/// <summary>
/// ID форума, из которого надо забрать сообщения.
/// </summary>public int forumId;
/// <summary>
/// В первый ли раз забираются сообщения из этого форума,
/// или пользователь уже был на него подписан ранее.
/// </summary>
/// <remarks>
/// true - забираются впервые, false - уже была подписка.
/// Если сообщения забираются впервые, то из этого форума данные
/// вытягиваются не по rowversion, а целиком за предыдущий день.
/// </remarks>public bool isFirstRequest = false;
}
/// <summary>
/// Описание сообщения, для Януса.
/// </summary>
[Serializable]
public class JanusMessageInfo
{
/// <summary>
/// ID сообщения.
/// </summary>public int messageId;
/// <summary>
/// ID темы.
/// </summary>public int topicId;
/// <summary>
/// ID родительского сообщения.
/// </summary>public int parentId;
/// <summary>
/// ID автора.
/// </summary>public int userId;
/// <summary>
/// ID форума
/// </summary>public int forumId;
/// <summary>
/// Тема сообщения.
/// </summary>public string subject;
/// <summary>
/// имя сообщения
/// </summary>public string messageName;
/// <summary>
/// Имя автора сообщения.
/// </summary>public string userNick;
/// <summary>
/// Текст сообщения.
/// </summary>public string message;
/// <summary>
/// ID статьи, если сообщение является статьей,
/// если же сообщение не сатья то 0.
/// </summary>public int articleId;
/// <summary>
/// Дата создания сообщения.
/// </summary>public DateTime messageDate;
/// <summary>
/// Дата обновления сообщения, если есть.
/// Если отсутсвтует - то <see cref="DateTime.MinValue">DateTime.MinValue</see>.
/// </summary>public DateTime updateDate;
/// <summary>
/// Статус автора сообщения.
/// </summary>public UserRole userRole;
/// <summary>
/// Повязка пользователя. null - если отсутствует.
/// </summary>public string userTitle;
/// <summary>
/// Цвет повязки пользователя.
/// </summary>public int userTitleColor;
/// <summary>
/// когда в последний раз замодерировали сообщение.
/// (действительно куда-либо преносили, а не просто вешали бомбочку)
/// </summary>public DateTime lastModerated;
}
/// <summary>
/// Данные для отправки сообщения в форум
/// </summary>
[Serializable]
public class PostMessageInfo
{
/// <summary>
/// ID родительского сообщения.
/// </summary>public int parentId;
/// <summary>
/// ID форума.
/// </summary>public int forumId;
/// <summary>
/// Тема сообщения.
/// </summary>public string subject;
/// <summary>
/// текст сообщения
/// </summary>public string message;
}
/// <summary>
/// Бомбочки и прочая лабуда...
/// </summary>
[Serializable]
public class JanusModerateInfo
{
/// <summary>
/// ID сообщения на которое подвесили бомбочку.
/// </summary>public int messageId;
/// <summary>
/// кто посмел.
/// </summary>public int userId;
/// <summary>
/// в какой форум сносить.
/// </summary>public int forumId;
/// <summary>
/// когда случилось.
/// </summary>public DateTime create;
}
/// <summary>
/// Оценки сообщений, для Януса
/// </summary>
[Serializable]
public class JanusRatingInfo
{
/// <summary>
/// ID оцененного сообщения
/// </summary>public int messageId;
/// <summary>
/// ID топика оцененного сообщения
/// </summary>public int topicId;
/// <summary>
/// ID поставившего оценку
/// </summary>public int userId;
/// <summary>
/// рейтинг поставившего оценку
/// </summary>public int userRating;
/// <summary>
/// Оценка
/// </summary>public int rate;
/// <summary>
/// Время постановки оценки
/// </summary>public int rateDate;
}
/// <summary>
/// Поставленная оценка
/// </summary>
[Serializable]
public class PostRatingInfo
{
/// <summary>
/// ID сообщения, которому ставится оценка.
/// </summary>public int messageId;
/// <summary>
/// Cобственно оценка.
/// </summary>public int rate;
}
Здравствуйте, Merle, Вы писали:
M>Здравствуйте, aka50, Вы писали:
A>>Жаль... но бум ждать. А то клиента надо дальше делать... а сервис не рабочий. M>Вот классы, с комментариями, чтобы не скучно было:
<skip>
У меня уже есть такие на Ice . Мне сервис нужен рабочий чтоб в базу заливать начать.
Но все равно спасибо .
Здравствуйте, Merle, Вы писали:
M>Вообщем новый сервис януса: http://rsdn.ru/ws/JanusAT.asmx, который краше прежнего, M>работает вместо датасетов с бизнес-объектами, тянет бомбочки с сайта и тянет список форумов отдельно... M>Какие еще будут пожелания по небольшой доработке, пока руки дошли?
Здравствуйте, aka50, Вы писали:
A> сервис давай рабочий .
Готово. Глупых ошибок быть не должно, запросы, как минимум работают, вот правильно ли — это другой вопрос...
Возможно ошибся в маппинге и не все поля тянутся, но в основном все тащится.
Здравствуйте, _FRED_, Вы писали:
_FR>Здравствуйте, AndrewVK, Вы писали:
S>>>Огромная просьба S>>>Обратите внимание вот на эту проблему S>>> http://www.rsdn.ru/Forum/?mid=737849
S>>>Очень сильно портит жизнь =((
AVK>>А что на нее обращать? Это не проблема Януса, это проблема админов. Именно они портят тебе жизнь.
_FR>Я бы сказал что проектирования Только не бить — предусмотреть такие... гхм... «тонкости» действительно непросто
Ну если делается новый сервис может быть его можно было переименовать как-нибудь
Здравствуйте, Merle, Вы писали:
M>Вообщем новый сервис януса: http://rsdn.ru/ws/JanusAT.asmx, который краше прежнего, M>работает вместо датасетов с бизнес-объектами, тянет бомбочки с сайта и тянет список форумов отдельно... M>Какие еще будут пожелания по небольшой доработке, пока руки дошли?
При вызове getNewData получил вот такую ошибку с сервера:
Server was unable to process request. --> Cannot assign value '19.08.2005 14:32:11' of 'DateTime' type to 'JanusRatingInfo.rateDate'. Invalid cast from DateTime to Int32. --> Invalid cast from DateTime to Int32.
Здравствуйте, Merle, Вы писали:
WF>>При вызове getNewData получил вот такую ошибку с сервера: M>Действительно, вкралась бага. M>Fixed.
Тeперь вот такая ерунда:
Server was unable to process request. --> Invalid column name 'rowversion'.
Invalid column name 'rowversion'. --> Invalid column name 'rowversion'.
Invalid column name 'rowversion'.
Здравствуйте, Merle, Вы писали:
M>Вообщем новый сервис януса: http://rsdn.ru/ws/JanusAT.asmx, который краше прежнего, M>работает вместо датасетов с бизнес-объектами, тянет бомбочки с сайта и тянет список форумов отдельно... M>Какие еще будут пожелания по небольшой доработке, пока руки дошли?
Пытаюсь воспользоваться новым сервисом, получаю такую ошибку от сервиса (при первой синхронизации):
Server was unable to process request. --> Line 25: Incorrect syntax near ')'. --> Line 25: Incorrect syntax near ')'.
Причем связано это как-то с подписыванием на форум 0 (мусорка). Меняю на
// Мусорка
forumsReq[index].setIsFirstRequest(false); // Т.е на false!
Работает. Однако при последующей синхронизации ситуацияю обратная, получаю ошибку:
Server was unable to process request. --> Line 10: Incorrect syntax near ')'. --> Line 10: Incorrect syntax near ')'.
Теперь меняю обратно, на setIsFirstRequest(true), все работает
Здравствуйте, WFrag, Вы писали:
WF>Пытаюсь воспользоваться новым сервисом, получаю такую ошибку от сервиса (при первой синхронизации):
Да, было такое — починил..