2011-07-29 82 views
1

我已將網站遷移到雲,這可以使用計算和存儲仿真器在我的本地計算機上完美運行。會話和Cookie在Windows Azure雲環境中不起作用

但是,當我將它放到Windows Azure Cloud上時,會話和Cookie無法正常工作。下面給出了web.config文件的一部分。

<sessionState timeout="30" 
       mode="SQLServer" 
       sqlConnectionString="Server=sxxxxxxxxx.database.windows.net;User [email protected];Password=MY_PASSWORD" 
       cookieless="false" 
       allowCustomSqlDatabase="true" > 
</sessionState> 

任何人都可以請導遊是在糾正一樣嗎?網站上的所有其他內容都可以正常工作。

下面是一些額外的信息:


總之,我做了以下。

  1. 遷移的網站到Windows Azure成功

  2. 創造了成功的數據庫訪問所需的連接字符串。

  3. 使用Compute Emulator和存儲模擬器測試本地計算機上的網站。

  4. 當我發佈網站並上傳packageFile和configurationFile時,一切工作正常。但是

對於使用session/cookies的頁面。所有靜態頁面都運行良好。所有數據庫訪問都是正確的

  1. 然後,我寫了一些代碼來設置正確的會話。

GOT誤差與整個網站停止工作

  1. 創建被要求的是,數據庫和表(ASPState的數據庫及其相應的表)。一切順利。

http://blogs.msdn.com/b/sqlazure/archive/2010/08/04/10046103.aspx

測試的網站...仍然得到本地和雲上的錯誤...如先前在這篇文章中提到。

你能指導我糾正這一點。

+0

僅供參考,這也公佈在MSDN論壇在這裏:http://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/thread/ee996508-2401-49ae- ba4a-c3655dc918ac – smarx

+0

也許你可以檢查你的連接字符串。我依稀記得更多的條款,尤其是在關閉集成安全方面。 –

回答

1

.Hey傢伙,

感謝您的答覆。我修改了web.config中的會話狀態一點,其如下

<sessionState cookieless="false" mode="SQLServer" 
        sqlConnectionString="data source=serverName.database.windows.net;user [email protected];password=password;Trusted_Connection=False;Encrypt=True;" 
        timeout="20" 
        allowCustomSqlDatabase="true"> 
    </sessionState> 

現在它的工作正常。

問候 桑迪普

0

我假設SQL Server會話狀態提供程序沒有拋出異常,只是不保持狀態?

您會意識到cookie用於保存會話ID,因此它可能源於一般的cookie問題。

你是否在做任何不尋常的域名?我只是想知道,Cookie與您通過其訪問網站的網址之間是否存在域名不匹配,這意味着Cookie不會在後續請求中顯示。

當然,安全限制也可能會阻止您的瀏覽器接受cookie,但您可能已經注意到這是現在的問題!