我正在尝试将一些数据添加到SharePoint Foundation 2013中的SharePoint列表。网站集的所有页面都会尝试写入同一列表。
当前访问页面时,添加到列表的数据已损坏。
这是我的代码
<script type="text/c#" runat="server">
public string username = SPContext.Current.Web.CurrentUser.Name;
static readonly object _object = new object();
public string CurrentTime;
protected void Page_Load(object sender, EventArgs e)
{
SPSite MySite = SPContext.Current.Site;
SPWeb MyWeb = MySite.OpenWeb();
MyWeb.AllowUnsafeUpdates = true;
// Fetch the List
SPList ClientList = MyWeb.Lists["NameOfThePage"];
lock (_object) {
SPListItem itemToAdd = ClientList.Items.Add();
itemToAdd["UserName"] = username;
itemToAdd["DateVisited"] = prevTime;
itemToAdd["TimeSpent"] = duration;
itemToAdd["PageName"] = prevPage.Replace(".aspx", " ");
itemToAdd["Title"] = Page.Title;
itemToAdd.Update();
}
}
}
//ignore
}
我尝试过使用lock()
但是没有给出理想的结果。我认为因为_object
是每个案例的新实例。请建议我如何克服这一点。