एएसपी.नेट में स्थिर चर ने आज मुझे गार्ड से पकड़ा। तब मैं बाहर निकला, क्योंकि इसका मतलब है कि या तो मुझे वेब की दुनिया में स्थिर चरों की मौलिक गलतफहमी है या एएसपी.नेट ऐसा नहीं करता है जैसा मैंने सोचा था।PHP बनाम एएसपी.नेट स्थिर चर
तो ASP.NET
public class MyClass {
public static bool myVar = true;
}
में ASPUserA सेट करता है MyClass.myVar = false
सिस्टम पर हर दूसरे उपयोगकर्ता इन परिवर्तनों का अनुभव होगा। तो, एएसपीयूसर बी myVar
= false
होगा। मेरे स्रोत: http://www.foliotek.com/devblog/avoid-static-variables-in-asp-net/
class MyClassPHP {
public static $myVar = false;
}
PHPUserA सेट करता है MyClass::$myVar = true
इसका मतलब यह है कि सिस्टम पर हर उपयोगकर्ता इन परिवर्तनों का अनुभव करता है ???
धन्यवाद।
आगे के शोध पर मैंने यह किया;
class MyClassPHP {
public static $myVar = 0;
}
तो मैं उपयोगकर्ताओं को, जो एक पेज के लिए गया था इस
MyClassPHP::$myVar++;
echo MyClassPHP::$myVar;
यह हमेशा 1. था कोई फर्क नहीं पड़ता कि मैं कितनी बार ताज़ा किया या निरंतर कनेक्शन करना था ... WOHHH कि एक महान निष्कर्ष था, या नहीं मैं खराब हूँ !!
ASP.NET अद्यतन
पर आगे अनुसंधान और परीक्षण बातें मैं इस पाया।
public partial class MyPage : System.Web.UI.Page
{
public static int myInt = 0;
protected void Page_PreInit(object sender, EventArgs e)
myInt++;
}
}
तो मेरा पृष्ठ myInt
प्रदर्शित कर सकता है।
ब्राउज़र (फ़ायरफ़ॉक्स और क्रोम) के बीच myInt
प्रगतिशील रूप से अधिक था क्योंकि मैंने पृष्ठ को रीफ्रेश किया था। तो इससे कोई फर्क नहीं पड़ता कि आपका class
static
है। यह केवल तभी मायने रखता है जब आपके पास स्थिर चर होते हैं। वे आवेदन व्यापक हैं।
वाह!क्या एएसपी.नेट वास्तव में ऐसा करता है? यह बेवकूफ =/ –
मैं इससे उलझन में हूं। यह एक खिड़की से मेरे पैराडिगम्स उड़ा दिया! – Michael
मुझे विश्वास करने के लिए धन्यवाद * कभी * एएसपी.NET का उपयोग करने के लिए नहीं ;- पी –