12 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
我感覺(jué)你這在把簡(jiǎn)單的問(wèn)題復(fù)雜化,
?
如果有兩個(gè)人先后編輯同一文章,管它們客戶端的狀態(tài)呢,誰(shuí)先提交的算誰(shuí)編輯的。
?
當(dāng)然,照顧到后提交者的情緒,可以這樣做:
?
每篇文章記錄編輯次數(shù)count,網(wǎng)頁(yè)提交Form中放一個(gè)隱藏的input標(biāo)簽,記錄用戶刷新時(shí)的count,提交成功后服務(wù)器里count+1。
這樣,當(dāng)有多人提交的時(shí)候,你就知道他編輯的是否為最新版本,如不是,則提交駁回,并提示人家有最新編輯的版本。同時(shí)還可以緩存下人家要提交的東西,避免丟失。

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果點(diǎn)擊標(biāo)題時(shí)沒(méi)有被編輯,點(diǎn)擊后馬上被人編輯了怎么辦?

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊
誰(shuí)先點(diǎn)擊就讓誰(shuí)編輯 在于點(diǎn)的那一時(shí)刻

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊
你好,你這里對(duì)這個(gè)文章加一個(gè)狀態(tài)和當(dāng)前編輯者
state=1表示非編輯用戶不可編輯
state=0表示任意用戶可編輯
每次某個(gè)用戶XXX編輯的時(shí)候?yàn)檫@篇文章修改狀態(tài)state=1,且當(dāng)前編輯用戶為XXX
修改完成之后設(shè)置state=0,切將當(dāng)前編輯用戶設(shè)置為空。
如果遇到斷電的情況下,那么用戶XXX重新登錄到系統(tǒng)中,這個(gè)state=1且當(dāng)前編輯用戶為XXX的文章對(duì)于用戶XXX為可編輯,其他用戶不可編輯。

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
樂(lè)觀并發(fā)就沒(méi)有這種情況。

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊
比如在斷電的情況下是可以由服務(wù)端自動(dòng)注銷清理用戶信息的。
ASP中有個(gè)Global.asax里面有個(gè)
void Session_End(object sender, EventArgs e)
{
//在會(huì)話結(jié)束時(shí)運(yùn)行的代碼。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式設(shè)置為
// InProc 時(shí),才會(huì)引發(fā) Session_End 事件。如果會(huì)話模式
//設(shè)置為 StateServer 或 SQLServer,則不會(huì)引發(fā)該事件。
}
- 12 回答
- 0 關(guān)注
- 605 瀏覽
添加回答
舉報(bào)