2013-01-07 31 views
0

在我的應用程序中,我不希望會話狀態對像圖像,javascript文件和css文件這樣的靜態內容是必需的。爲了防止這種情況我已經使用靜態內容不應該需要會話狀態

<Localization path="folder_containing_files"> 
    <system.web> 
     <pages enableSessionState="false"/> 
    </system.web> 
</Localization> 

雖然我已經使用屬性爲假,會話狀態被稱爲(正在創建請求)的靜態內容。

+2

我認爲圖像,.js或css文件由asp.net運行時提供,並且由於它們不是由asp.net運行時提供的,如果您只是請求其中一個。要找出並確保:停止您的網站,在global.asax.cs文件中放置一個斷點,重新啓動iss,使用Visual Studio中的調試啓動站點,並確保您請求的第一頁是靜態的。我不認爲你的斷點會被打到你請求一個aspx頁面。 – mortb

+1

@mortb:我希望你的意思是圖像,.js-或css文件不是由asp.net運行時提供的。 – paritosh

+0

@paritosh:是的,我錯過了*不*,所以我的意思是*沒有提供* – mortb

回答

3

謝謝大家的支持。

這是創建請求的唯一的事情就是

<modules runAllManagedModulesForAllRequests="true" /> 

我刪除屬性runAllManagedModulesForAllRequests這意味着我將值設置爲false,問題就解決了。 Cheers :)

+0

runAllManagedModulesForAllRequests =「true」將強制所有請求由託管模塊處理。所以,在我的情況下,也正在爲靜態內容創建請求。設置屬性也會降低性能。因此,將其設置爲false並使用precondition屬性運行特定模塊是最佳選擇。 – Neerajan

1

首先,只有IIS中的註冊擴展通過它們的處理程序得到了處理。圖像,文本文件,css甚至不會被.net運行時處理。他們由IIS提供服務。

你在這裏試圖達到什麼目的?

+0

但記住:您可以配置IIS通過處理程序提供服務。例如,您也可以編寫自定義處理程序來提供圖像。但是這不是默認情況(至少不是早期版本的.net) – mortb

+0

@mortb:完全同意。 – paritosh

+0

謝謝大家。我也同意這一點,但上面的屬性強制創建請求。 – Neerajan