Как защитить ресурс, который используется несколькими страницами ASP.NET?

Я работаю над проектом, который включает родительскую страницу. Эта родительская страница содержит два тега iframe, которые связаны с двумя другими дочерними страницами asp. Мне нужно защитить экземпляр времени, и это должно быть так: на первой дочерней странице она должна быть заблокирована, и когда другая дочерняя страница asp читает с нее, должна быть освобождена. Кто-нибудь может дать мне совет, пожалуйста?

[WebMethod]
    public static void SetCreatioTimeAndID(DateTime CreationTime, string ID)
    {
        ResourceProtector.Sem.WaitOne();
        SessionHelper.CreationTimeFromEvents = CreationTime;
        SessionHelper.EventID = ID;
    }

и вот функция jquery, которая вызывает метод:

function EventGrid_ItemSelected(sender, e) {
        var item = e.get_item();
        var creationTime = item.Data[0][1];
        var id = item.Data[10];

        PageMethods.SetCreatioTimeAndID(creationTime, id, OnSuccess);
    }

    function OnSuccess(response, userContext, methodName) {
    }

Так как использующийся у них вид сетки (сетка ComponentArt) не имеет события на стороне сервера, когда выбрана строка, я должен использовать событие на стороне клиента, чтобы получить выбранную строку. Затем я вызываю функцию на стороне сервера, чтобы сохранить дату строки. Если вам нравится это весь сценарий: когда пользователь выбирает строку в сетке, я должен вызвать функцию сервера из функции jquery на странице. Проблема в том, что эта серверная функция должна быть статической. поэтому я сохраняю его в статическом объекте DateTime, поэтому, когда пользователь нажимает кнопку, загружается информация об этом объекте DateTime. проблема заключается в том, что если другой клиент подключается к серверу и выбирает строку, я в числе объектов DateTime

1 ответ

Эта ссылка ответила на мой вопрос. Таким образом, я могу вызывать нестатические методы на сервере из JavaScript. Вот ссылка: Вызовите нестатический метод на стороне сервера (aspx.cs) со стороны клиента, используйте JavaScript (aspx)

Другие вопросы по тегам