簡體   English   中英

ASP.NET的App_Code文件夾和共享/靜態類

[英]ASP.NET's App_Code Folder and Shared/Static Classes

如果我在App_Code文件夾中定義了“共享”對象; 該對象是否在我網站的所有用戶/訪問者之間共享? 還是按用戶共享?

我不知道那是否有意義; 但是我之前寫過一個難題/求解器,試圖將其集成到一個簡單的ASP.Net網站中。 它可能寫得不好,但是我使用了一個共享布爾值來確定是否找到了解決方案。 該代碼現在可以作為ASP.NET站點使用,但是如果我的站點的兩個訪問者都在同時驗證他們的難題,那么他們是否都將訪問同一個布爾值?

如果您的變量是靜態的,那么所有用戶都將訪問同一變量,並且對該變量的任何更改將僅在Web應用程序的情況下影響所有用戶,邏輯是當您將變量設為靜態時,則在服務器上分配內存位置時分配此位置是所有用戶共享該位置的唯一原因,因為它是靜態的。

靜態變量在應用程序的所有用戶之間共享。 我已經在我的一個項目中對此進行了測試。 我100%確定您的布爾變量值將在所有用戶之間共享

靜態成員在WebApplication的所有用戶之間共享。

您可能需要閱讀以下文章。 它包含有關應用程序狀態變量和靜態成員的一些有用信息:

ASP.NET中的應用程序實例,應用程序事件和應用程序狀態

除非我沒有記錯,否則IIS可能會將您的應用程序克隆到多個AppDomain中。 盡管您的靜態變量將在同一AppDomain上的所有用戶(或線程)之間共享,但如果他們位於單獨的AppDomain上,則不會共享。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM