2010-02-23 47 views
9

我嘗試在ServerFault上發佈這個並沒有運氣,所以我在這裏嘗試。使用asp.net在開發機器上創建無Cookie應用程序

我在考慮設置一個新的域來在我的網站上託管靜態內容,並且像Stackoverflow一樣擁有它的static domain。 因此,在繼續購買域名並設置它之前,我想先在我的開發機器上在localhost下測試它(我必須提到,我計劃讓IIS在我的新域中運行以獲取靜態文件)。

因此,我在IIS下創建了一個新的應用程序,並禁用會話狀態並形成身份驗證。當我的主應用程序需要像css,images和js這樣的資源時,我使用它們託管的「靜態」應用程序的路徑。

問題是,當我查看所請求文件的請求和響應時,它們仍然具有定義的session_id cookie以及asp.net身份驗證cookie。

完全可以在開發機器上完成我想要做的事情,還是隻需要繼續購買新的域,希望能夠使事情正確?我試圖閱讀有關無cookie的域名,但無法弄清楚我可能會丟失什麼。

更新

我的設置如下。 我創建了兩個Web應用程序。 - 一個爲網站 Web應用程序 - 一切靜(CSS,圖片,腳本......)

兩個應用程序被添加到IIS,其中沒有一個Web應用程序是另一個的子應用程序。 (它們都是IIS結構下的獨立網站)。

我想知道如果兩個網站在同一IP下可能已經解釋了我的結果,但是當我部署這兩個站點時,問題就消失了。

+0

你能描述一下你的設置嗎?你說你創建一個新的應用程序,但你應該真的創建一個新的網站綁定到不同的IP地址和/或端口號和/或主機名。你不能在同一個網站下創建一個新的應用程序。您需要創建兩個獨立的網站。 – 2011-10-28 14:22:28

+0

@MarcoMiltenburg呃,首先我不是問這個問題的,我只是把它放在了它上面。 OP必須要求在同一臺機器/ IP上建立一個新網站。由於它僅用於開發目的。 – 2011-10-29 15:04:20

+0

對不起,我遲到的迴應,夥計們!我真的很感興趣,只是在開發機器上進行這種設置工作,並嚴重依賴使用螢火蟲檢查請求信息,以確保cookie確實不被使用。我確實覺得下面的答案沒有足夠的細節,但也許我應該在我的問題中添加更多信息。事實證明,在不同的主機上部署我的靜態網站後,它只是「工作」。我將更新我的問題以包含有關我的設置的詳細信息。 – ak3nat0n 2011-11-02 20:45:38

回答

7

確保您有以下web.config設置:

  • <sessionState mode="Off" />
  • <authentication mode="None" />

我認爲這是所有的,雖然我沒有測試它。爲了安全起見,你可以使用從Creating Static Content Website in IIS 7它禁用所有模塊,只有重新啓用這些必要的建議:

<system.webserver> 
    <modules> 
     <clear /> 
     <add name="StaticFileModule" ... /> 
     ... 
    </modules> 
    ... 
</system.webserver> 

PS:關於設置緩存值提示見this answer

1

的基本思想:

  1. 請在IIS(它映射到一個子域或使其完全獨立的網站一個新的網站有時suddomains是不夠的,如果用戶http://example.com而不是http://www.example.com訪問你的網站因爲在第一種情況下cookie可能也會被髮送到新的子域)。
  2. 禁用ASP.NET爲您的新網站一起在IIS中。如果你只是提供靜態內容,那麼你就不需要啓用ASP.Net
  3. 加載你的靜態內容和鏈接即可

參考:
- Stopping cookies being set from a domain (aka "cookieless domain") to increase site performance
- How to respect "Serve static content from a cookieless domain" page speed rule in IIS6?
- Avoiding cookies while requesting static content

0

您是否在頁面加載方法的結尾嘗試了Response.Cookies.Clear()? 這應該消除Response對象中的所有Cookie,並且不會將cookie發送到客戶端。這可以在Web模塊或HttpHandler中完成。

+0

他正在尋找的概念不是要刪除cookie,而是完全不使用它們 – 2011-11-03 02:19:23

+0

因此,他不希望ASP.NET創建會話?他在找什麼? – 2011-11-03 12:55:58

相關問題