2014-10-04 2 views
0

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

[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) { 
    } 

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

+0

Точно, что это за экземпляр и как вы делитесь им? –

+0

- объект DateTime. одна из страниц asp устанавливает его, когда пользователь нажимает на строку в виде сетки. и я хочу, чтобы этот объект datetime оставался неповрежденным до тех пор, пока он не будет использован в методе в другой asp page.its, потому что если другой клиент подключится до того, как этот экземпляр DateTime будет использован, новый клиент не сможет испортить это время. Таким образом, использование get s wrong inf back –

+0

еще одна вещь, которую хотел бы знать, если разные клиенты подключаются к странице asp; У них есть свой собственный поток для запуска? Я знаю, что сервер создает новый поток для новой клики со всеми новыми экземплярами? –

ответ