![]() |
|
Модераторы: gambit |
![]()
|
|
| Gregoryy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 6.10.2007 Репутация: 1 Всего: 1 |
Я пишу свой форум. И мне надо для каждого сообщения, которое создает пользователь генерировать клочь. Если точнее его надо генерировать тогда когда пользователь создает тему или отвечает. Это нужно чтобы, когда пользователь загружает файлы вовремя создание ответа или новой теми показывались только те файлы, которые он загружает для этой темы.
|
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
А под этим ключем впоследствии и сообщение вставляется в СУБД ???
Мне кажется, что в данном случаи лучше использовать SessionState для хранения файлов пришедших от пользователя... -------------------- |
|||
|
||||
| Gregoryy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 6.10.2007 Репутация: 1 Всего: 1 |
Нет, в сообщение не будет. Мне нужен этот ключ чтобы можно было распознать только файлы. Идею взял у IPB форума но так и не нашел как там генерируется этот ключ. Я, конечно, тоже сначала подумал насчет использование ID сессии, но отпало, так как сессия долго живет у меня. Потом подумал создавать MD5 хеш с даты + имени пользователя, который загружает файл. Но друг отговорил, чтобы я это не делал, что может совпасть такой хеш. Вот как я это вижу. Когда пользователь нажимает кнопку ответа или создание новой темы я генерирую ключ, потом этот ключ я добавляю в сессию и храню ее там пока пользователь не отправить пост. |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
Я не предлагал тебе использоваться SessionID, я тебе предлагал использоваться SessionState
Но при таком раскладе, если пользователь нажимает ответить сразу на двух окнах, то файлы могут смешиваться, что есть очень плохо.
В данном случаи тебе MD5 вообще не нужен: 1) очень долго работает по сравнению с base64 2) Могут быть коллизии (хотя очень маловероятные, очень-очень маловероятные Возьми лучше строчку даты в секунда зашифрованную Base64 + Username Но Я к тому, что. Может быть лучше не разрешать пользователю делать предзагрузку фалов, ибо нах ??? Гораздо лучше делать загрузку файлов при нажатии на кнопку "Предпросмотр сообщения" или "Отправить сообщение" (ну и все их разновидности). А когда ты нажал на эти кнопки, то в таблице, которая хранит ответы пользователей. Ставить флажок типа "Предпросмотр" или "Видим для всех". Но в принципе, там можно еще подумать и поразмышлять на эту тему. Просто зачем генерировать два раза ключ -------------------- |
|||
|
||||
| Gregoryy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 6.10.2007 Репутация: 1 Всего: 1 |
Дело в том, что я для форума использую визуальный редактор. Из-за этого и приходиться пред загрузку делать.
|
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
Gregoryy, ну смотри. я все так же предлагаю свой вариант с ключами хранимыми в сесии
Файлы записывать на сервер в виду filename_DateTimeInSeconds А в сесии хранить ключи вида filename_PostUniqueID Т.е. когда пользователь нажимает "ответить" в ветке, то ты берешь ID этой ветки что и будет PostUniqueID а когда пользователь нажимат на создать тему... Хм. Тут я думаю надо писать PostUniqueID как "-1", но если нажать сразу несколько "создать тему"... Ну я думаю там надо будет немного подумать по поводу генераций этих PostUniqueID и записи их в HiddenField или еще куда-нибудь. -------------------- |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |