3 回答

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

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