2009-02-19 2 views
0

Резюме: Поведение, показанное ниже, похоже, указывает, что если ваше приложение на www.someplace.com устанавливает/извлекает данные через SharedObject, есть своего рода .sol, если пользователь нажимает ваше приложение на someplace.com, а затем позже на someplace.com?name=value.SharedObject (Flex 3.2) ведет себя неожиданно, когда строка запроса присутствует в URL-адресе

Может ли кто-нибудь подтвердить или опровергнуть это?

Я работаю над веб-приложением Flex, которое представляет пользователю страницу входа. Когда пользователь вошел в систему, ему/ей предоставляется «комната», которая связана с «группой».

Мы храним комбинацию номеров/групп последнего посещения в SharedObject - поэтому, когда данный пользователь входит в систему, они берутся в самую последнюю комнату, в которой они были активны.

Это хорошо работает, но у нас также есть система автоматического входа, которая включает в себя щелчок пользователя по ссылке на URL-адрес приложения с прикрепленной строкой запроса. Существует два типа этих ссылок.

1) строка запроса содержит имя пользователя, GroupID и RoomID

2) строка запроса содержит только имя пользователя в

Потому что мы работаем быстро и имеют лишь несколько разработчиков, система автоматического входа в систему построена на последней системе. Во время процесса автоматического входа URL-адрес проверяется, и если в строке запроса обнаружены значения groupId и roomId, объект SharedObject открывается, а значения идентификатора группы/номера последнего посещения перезаписываются значениями параметров.

Это хорошо работает, когда приложение попадает в строку запроса второго типа (без параметров groupId и roomId), приложение переходит в SharedObject, чтобы получить значения хранимой комнаты и группы, как обычно бы. И вот в чем проблема:

Значения, с которыми он возвращается, - это те значения последнего параметра комнаты/группы, которые не были последними последними посещенными параметрами комнаты/группы.

И если данный пользователь никогда не ударил приложение с строкой запроса, которая включала значения идентификатора группы и комнаты, приложение получает значения null из объекта SharedObject.

Потребовалось некоторое копание, но похоже, что это происходит, так как второй набор данных хранится/ожидается в SharedObject, если строка запроса присутствует в URL-адресе.

Глядя на файл .sol в текстовом редакторе, я вижу более нетранслируемый код и дополнительные значения для группы и комнаты, как только я попал в приложение с URL-адресами, содержащими строки запроса.

Я не нахожу ничего в Интернете об этом, но это может быть связано с отсутствием необходимых навыков поиска.

У кого-нибудь еще есть что-то подобное? Или вы знаете, как это решить?

Я пробовал установить Security.exactSettings на false, уже - действительно надеялся, что это сработает.

+0

Можете ли вы включить более подробную информацию? Образец кода? Желаемый эффект v.s. фактические? Благодаря! – Brian

ответ

0

Одна вещь, которую следует помнить: - Они общие, но с задержкой. Если вы получите общий объект и внесите в него изменения, изменения будут записаны клиенту .sol - после задержки.

Кроме того, я заметил, что для некоторых клиентов (особенно Vista) доступ к ShraedObjects в начале состояния приложения вызывает исключение. Если вы попробуете снова немного позже, обычно это удастся.

+0

Большое спасибо за ответ, Брайан. Проблема заключается не в доступе к SharedObject, а в том, что касается времени доступа к нему - данные извлекаются точно. Думаю, я должен переписать свою проблему. Проблема связана с тем, что кажется различием в том, как записываются данные и ... –

+0

... извлекается из .sol, когда в URL присутствует строка запроса. Я попытаюсь переписать и упростить. Если я смогу найти способ включить код, не взорвав размер этого сообщения, я тоже это сделаю. –

0

Похоже, что вы правильно записываете общий объект во время процесса входа в систему, но не правильно записываете комнату/группу в общий объект, когда пользователь меняет комнаты/группы при использовании приложения.

Вот почему значения были бы нулевыми, если бы они никогда не попадали в приложение с параметрами комнаты/группы и почему значения arent отражают изменения, которые происходят после процесса входа в систему.

Также, чтобы убедиться, что значения сохраняются на диск после их записи, вы можете позвонить mySharedObject.flush().

+0

Спасибо, Грег. Данные правильно записываются, поскольку пользователь изменяет номера и группы. Проблема конкретно в том, что происходит, когда к .sol обращаются, когда url имеет/не имеет строку запроса. –

+0

, но какими бы параметрами URL были связаны с доступом к общему объекту. вы сохраняете точный url для SO и это задыхается от строки? Не должно быть никакой корреляции между созданием флеш-ролика с использованием flashvars и доступа SO. можете ли вы опубликовать какой-то код, в котором вы думаете, что это может пойти не так? – greggreg

+0

На самом деле это вопрос. Нет, не сохраняя URL. Кажется, что есть какой-то дескриптор, связанный с .sol, основанный на URL-адресе, - я не знаю, почему. Я попытаюсь опубликовать код в самом ближайшем будущем. –

 Смежные вопросы

  • Нет связанных вопросов^_^