Как защитить ресурс, который используется несколькими страницами 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)