2010-04-09 103 views
1

我有一個網站,我試用了一個鏈接。在點擊鏈接時,調用控制器操作方法在創建完zip文件後生成一個zip文件,我通過替換鏈接來創建一個zip鏈接來顯示下載zip文件的鏈接,下載zip鏈接。使用jquery post方法調用asp.net mvc操作方法到期會話

問題是,在zip文件創建結束並顯示鏈接後,當用戶單擊鏈接下載zip文件時,它們將被髮送到登錄頁面。在登錄頁面提供正確的憑據後,系統會提示他們下載zip文件。他們不能被髮送到登錄頁面。在生成zip文件的操作中,我並沒有放棄會話,也沒有做過任何會影響會話的事情。

成功創建zip文件後,用戶不應該無法登錄頁面,用戶應該可以在不登錄的情況下下載文件。

我在這個問題上搜索互聯網,但我沒有找到任何解決方案。在hanselman寫的博客之一中,我發現這個語句會引發會話問題:是否有其他的事情像Ajax調用或IE的Content Advisor同時觸發默認頁面或登錄頁面並導致調用Session.Abandon的競爭條件? (它發生之前!)

所以我認爲可能會導致會話過期的Ajax調用的一些問題,但我不知道發生了什麼?

任何幫助

感謝

+0

試着先縮小問題範圍。 – 2010-04-09 11:36:25

+0

這是這樣的,用戶點擊鏈接創建zip文件後,zip文件創建成功,但會話過期。這不是我想要的。 爲什麼在對控制器操作進行jquery post調用以創建zip文件之後,會話必須過期? 我希望你明白這個問題。 – nccsbim071 2010-04-09 14:21:32

回答

1

夥計們,我找到了解決這個問題的方法。問題是這樣的:我在應用程序文件夾和.net 2.0中創建了一個zip文件,對應用程序文件和文件夾進行任何更改都會導致會話過期。只要我在應用程序文件夾中的目錄以外的目錄中創建了壓縮文件,一切正常。

反正 謝謝

1

我認爲問題是,你所創建的Zip文件的文件夾的權限。

0

會話與訪問資源無關。

如果顯示提示符登錄,則意味着用戶想要加載的資源受FormsAuthenication或WindowsAuthentication的保護。

如果你不想要這個,請檢查web.config中的授權部分。

+0

即使不點擊鏈接下載並點擊網頁上的其他鏈接,我也會獲得登錄信息。 – nccsbim071 2010-04-09 14:33:49

+0

這是否發生在您的本地開發Web服務器,本地iis或生產Web服務器上? – 2010-04-09 14:43:35

+0

它在調試Visual Studio和生產服務器時都會發生。我已經主持了該網站,是的,它甚至發生在那裏。 – nccsbim071 2010-04-09 14:49:41

相關問題