![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2006
Сообщений: 15
|
Цитата:
2). Объекты этого класс, мать его, создаются из разных мест, в разных приложения и т.д. т перетачивать кучу кода - как минимум... не весело... но... 3). ...похоже другого пути нет... ![]() Последний раз редактировалось zevvs; 28.01.2006 в 14:30. |
|
|||||
|
Цитата:
собственно, я имел ввиду такую штуку: |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 15
|
Спасибо, я выкрутился более изящьно :-) Тем более Ваш метод не дает гарантии что я получу сессию раньше, чем запущу другой запрос :-) Тема закрыта...
__________________
This game has no name. It will never be the same. |
|
|||||
|
Flash Aксакал
Регистрация: Jun 2005
Сообщений: 636
|
а можно поинтересоваться как Вы выкрутились?
|
|
|||||
|
Регистрация: Jan 2006
Сообщений: 15
|
Запросто. Если Вы вникали в тот код, который я показал, то наверное поняли, что я сделал: довольно удобный враппер для soap-запросов. Соответственно, у меня есть набор классов, которые от него унаследованы и реализуют реакции на конкретный soap-вызов. Так вот. Проблема возникала только в точках входа в систему (там, где мне еще не известен идентификатор сессии, но уже сильно нужен). Их, к моей радости оказалось всего 5. Осталось только в этих классах перегрузить init_onResult и добавить проверку в конструктор, примерно так:
/**
* Login Page
* Execute auth process
* (c) Sibirix, 2006
*/
class LoginPage extends WebServicePage
{
var service: LoginPage;
var login, password;
function LoginPage(_parentMovie, _login, _password)
{
trace('LoginPage: ' + _login + ':' + _password);
parentMovie = _parentMovie;
login = _login;
password = _password;
this.WebServicePage(_parentMovie);
if (WebServicePage.SID) {
accessRemote('LoginPageWebservice_auth', login, password);
}
}
function LoginPageWebservice_auth_onResult(code)
{
if (code == 'true') {
trace('Auth success');
service.parentMovie.attachMovie('AdminGalleriesListPageView', 'adminGalleriesPageView', service.parentMovie.getNextHighestDepth());
} else {
trace('Auth fault');
service.parentMovie.attachMovie('LoginPageView', 'loginPageView', service.parentMovie.getNextHighestDepth());
}
}
function init_onResult(data)
{
_parent.init_onResult(data);
service.accessRemote('LoginPageWebservice_auth', service.login, service.password);
}
}
__________________
This game has no name. It will never be the same. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|