Как я могу совместно использовать сессию через несколько субдоменов в ASP.NET?

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
14
задан Blegger 2 November 2011 в 01:02
поделиться

3 ответа

Вы пометили это с помощью ASP.NET и IIS, поэтому я предполагаю, что это ваша среда. Убедитесь, что у вас есть это в вашем web.config:

<httpCookies domain=".usa.com"/>

, если ваши 2 поддомены отображаются на то же приложение, то вы закончите. Однако, если они являются разными приложениями, вам нужно будет выполнить дополнительную работу, например, использование памяти сеанса SQL Server на основе SQL (и взлома хранимых процедур, чтобы убедиться, что все приложения имеют одинаковые данные сеанса) или с помощью HTPModule, чтобы перехватить имя приложения Поскольку даже с общими файлами печенья и одинаковым ключом машины, 2 приложения все равно будут использовать 2 разных магазина для данных их сеанса.

37
ответ дан 1 December 2019 в 06:43
поделиться

Отследите свои собственные сессии и используйте cookie с соответствующей доменной установкой, т.е. .usa.com.

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

настройки, которые Вы ищете:

session.use_cookies = 1
session.use_only_cookies = 1
session.cookie_domain = .usa.com
3
ответ дан 1 December 2019 в 06:43
поделиться

При использовании PHP один взлом должен был бы заставить немного включать сценарий (или два), чтобы сделать следующее:

1 Сериализируют Ваш $ _SESSION, выстраивают 2 Передачи, которые представляют в виде строки как скрытый вход, делая все Ваши ссылки на те кнопки в отдельных формах с помощью POST. 3 Также включают булевскую переменную скрытый вход для уведомления сценария, должно ли это использовать текущую сессию или не сериализировать $ _POST ['сессия'] 4 Развертывают это через сайт, называя вещи в соответствующих случаях

я не сделал бы этого, если существует на самом деле санкционированный способ передать сессию. Я надеюсь, что Вы, по крайней мере, рассмотрели использование cookie.

0
ответ дан 1 December 2019 в 06:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: