2011-09-01 57 views
1

我有一個web應用程序,管理員可以創建消息,PDF文檔和其他的東西在他的CMS面板。ASP.NET會話及刪除文件夾

問題是,當管理員刪除一個新的或別的應用刪除所有涉及到新的,我指的是圖像,PDF等文件的文件。主要問題是這些文件存儲在「news」文件夾下的文件夾中,當應用程序刪除它們時會話丟失。

我該怎麼做纔能有一個文件系統,而不會丟失會話? 我想該文件系統的應用程序文件夾中...

我們不可能來存儲應用之外的文件夾,我們不希望使用的,因爲performanne的StateServer的....

其他解決方案?

謝謝

回答

0

讓這些文件在應用程序文件夾中是一個可憐的設計。由於文件系統更改導致IIS重新啓動,因此會話可能會丟失。沒有Web應用程序能夠寫入自己的文件夾會更安全,這樣做會帶來安全風險。

+0

所以,你的意思是每個網站的用戶的文件存儲「inetput」或「虛擬主機」文件夾之外?類似於服務器中的「C:/ User_Data」?但是,我怎樣才能訪問所有的信息?我不能使用「〜/」路線... - 邁克約翰遜0秒前編輯 –

+0

通過網絡訪問它們在iis中創建一個指向該文件夾的虛擬目錄。 – kmcc049

+0

因此,我將這些文件放在一個文件夾中,例如「C:\ Files \」。我必須創建一個指向該文件夾的虛擬目錄,然後從Web應用程序訪問該虛擬目錄,對吧?你有一個例子嗎? –

1

你的會話丟失becasue IIS重新編譯。我認爲最簡單的解決方案是將您的文件存儲在wwwroot之外。

討論了SO:ASP.NET restarts when a folder is created, renamed or deleted

[更新] 例子: 讓我們留在你的應用程序是在C:\的Inetpub \ wwwoot \ virtualdir1

你讓一個工作目錄: C:\的Inetpub \百寶箱 - 生活查詢

給適當的權限(讀/寫/等)到你的應用程序池的Asp.net用戶,它應該像一個魅力的所有工作。 上設定的權利更多信息:What are all the user accounts for IIS/ASP.NET and how do they differ?

存儲的路徑,在web.config中workdirectory(你沒有不想硬編碼)

+0

您能否給我一個例子?另外,當丟失Session時,你也會失去Forms Authentication,對嗎? –

+0

是的,你失去了認證。請參閱更新 – Pleun

+0

中的示例感謝,但該解決方案無法工作,因爲在Plesk控制面板上,您無法設置Plesk外部的任何內容,否則Plesk將重置您在運行維護時所做的任何權限更改...所以在域文件夾之外的任何東西... –

0

獨立的文檔文件夾和Web站點文件夾。並給予權利您的文件夾。