销售单据号重复问题
最近开发一套MIS,中间财务记录涉及到销售单据号的问题,因为页面试用了ViewState来存储临时表的方案,单据号我采用随机生成的数拼合而成,但依然在跨地区,多人同时操作时,偶尔产生单据号重复错误问题,我纳闷了很久,不知道是ViewState影响的?还是并发操作就算试用随机也会产生单据号重复?到此刻还未解决,寻求大家帮忙!
#region 重写加载视图状态方法 protected override void LoadViewState(object savedState) { base.LoadViewState(savedState); //取得编辑前的datatable的视图状态 if (ViewState["TempClassList"] != null) { dt = (DataTable)ViewState["TempClassList"]; } } #endregion #region 重写保存视图状态方法 protected override object SaveViewState() { ViewState["TempClassList"] = dt; return base.SaveViewState(); } #endregion单据号产生方案如下:/// <summary> /// 产生财务缴费流水号 /// </summary> public string InitBarCode() { string id = "XS"; Random r = new Random(); id += DateTime.Now.Second.ToString().Length == 1 ? "0" + DateTime.Now.Second.ToString() : DateTime.Now.Second.ToString() + r.Next(100000000).ToString(); return id;}