2014-10-04 44 views
0

我正在处理包含父页面的项目,此父页面包含两个连接到另外两个子页面的iframe标记。我需要保护一个时间实例,它应该是这样的:在第一个子页面中,它应该被锁定,并且当其他子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网格)使用im不必须的服务器侧的事件时的行是selecteddoesnt,我必须ouse客户端事件,检索行被选中。然后我调用服务器端函数来存储该行的日期。如果你喜欢这是整个场景: 当用户在gridview上选择一行时,我必须从页面中的jquery函数调用服务器函数。问题是这个服务器功能必须是静态的。因此,我将它存储在一个静态的DateTime对象中,所以当用户按下一个按钮时,关于该DateTime对象的信息被加载。问题是如果另一个客户端连接到服务器,并选择一个行,即时联系无线DateTime objecdt是

+0

究竟是什么样的情况下,你如何分享它? – 2014-10-04 17:11:49

+0

它是一个DateTime对象。其中一个asp页面在用户点击网格视图中的一行时设置它。我希望这个日期时间对象保持不动,直到它在另一个asp页面中的方法中使用,因为如果在使用这个DateTime实例之前anoother客户端连接,新客户端不能搞砸了。所以使用得到错误的inf infove – 2014-10-04 17:33:35

+0

另一件事id想知道的是,如果不同的客户端连接到asp页面;他们是否有自己的线程运行?我mena服务器创建一个新的线程为新的全新实例的cleint? – 2014-10-04 17:37:59

回答