2016-11-16 2 views
0

Есть ли способ сбросить Meteor.default_connection._lastSessionId без перезагрузки страницы? Прямо сейчас я должен использовать location.reload() для его сброса, но это создает проблему с пользователем. Есть ли лучший способ решить эту проблему?Сброс LastSessionId Meteor без перезагрузки страницы

+0

Это немного неясно (по крайней мере, я), что вы пытаетесь выполнить и что делаете. Какую процедуру вы используете в настоящее время? Что такое прецедент? – MasterAM

+0

@MasterAM Я создаю приложение для загрузки файлов, и я использую идентификатор сеанса как значение для идентификации файлов, загруженных в течение данного сеанса, так как он уникален. После загрузки пользователей они должны проверить файлы, которые они загружали (например, электронная коммерция), поэтому я не хочу, чтобы они заказывали снова, только чтобы найти предыдущие файлы в том же сеансе. – wiredfordesign

+0

Я не понимаю подхода. Зарегистрированы ли пользователи? Что происходит, когда пользователь обновляет свой браузер? Все ли доступ к файлам пропал (потому что идентификатор сеанса отличается). Зачем выполнять действие загрузки и сеанс? Почему бы просто не сгенерировать выделенный выделенный идентификатор на сервере с помощью вызова метода? – MasterAM

ответ

1

Вы могли бы сделать это следующим образом:

Meteor.connection = DDP.connect('/'); 

_.each([ 
    'subscribe', 
    'methods', 
    'call', 
    'apply', 
    'status', 
    'reconnect', 
    'disconnect' 
], function(name) { 
    Meteor[name] = _.bind(Meteor.connection[name], Meteor.connection); 
}); 

Meteor.default_connection = Meteor.connection; 

Это как Meteor инициализации соединения DDP между клиентом и сервером, полный код можно найти here

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