問題一:
C#跨站點訪問Session會有問題,只返回null值。這點不同java,java中session的生命週期是客戶訪問服務器時,產生Session,在客戶端請求和服務器相應的過程中都可以獲取到存儲的Session,直到隨着瀏覽器的關閉銷燬。
C#中部署在不同站點的程序,例如A站點程序存入的Session,B站點無法訪問,即跨站點無法訪問Session。(可能有所誤差,只是實際工作中發現。)
問題二:
正難則反,我在A站點程序存入Session,在A站點中寫接口訪問,目的是根據Session和其他內容進行拼接加密、返回一個加密的串給別人調用。然後,在一般的cs文件中可以訪問到同站點的Session了,但是在asmx訪問不到,結果發現給接口方法加上[WebMethod(EnableSession = true)就OK了,原因是asmx中默認EnableSession = false.