3 回答

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊
以下陳述并不完全準(zhǔn)確:
“所以如果你從你的頁(yè)面調(diào)用其他功能,包括靜態(tài)類(lèi),你應(yīng)該沒(méi)問(wèn)題”
我正在調(diào)用一個(gè)靜態(tài)方法,它通過(guò)HttpContext.Current.Session引用會(huì)話,它是null。但是,我通過(guò)使用jQuery的ajax通過(guò)webservice方法調(diào)用該方法。
正如我在此處發(fā)現(xiàn)的那樣,您可以使用方法的簡(jiǎn)單屬性修復(fù)問(wèn)題,或使用Web服務(wù)會(huì)話對(duì)象:
但是有一個(gè)技巧,為了在Web方法中訪問(wèn)會(huì)話狀態(tài),您必須啟用會(huì)話狀態(tài)管理,如下所示:
[WebMethod(EnableSession = true)]
通過(guò)指定EnableSession值,您現(xiàn)在可以使用托管會(huì)話。如果未指定此值,則將獲得一個(gè)空的Session對(duì)象,并且在嘗試訪問(wèn)會(huì)話對(duì)象時(shí)很可能會(huì)遇到空引用異常。
感謝Matthew Cozier的解決方案。
我以為我會(huì)加兩分錢(qián)。

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊
如果您的Session實(shí)例為null并且您在'ashx'文件中,則只需實(shí)現(xiàn)'IRequiresSessionState'接口。
此接口沒(méi)有任何成員,因此您只需在類(lèi)聲明(C#)后添加接口名稱(chēng):
public class MyAshxClass : IHttpHandler, IRequiresSessionState
- 3 回答
- 0 關(guān)注
- 542 瀏覽
添加回答
舉報(bào)