Kutubxonadagi (DLL) statik o'zgaruvchi ushbu kutubxonaga havola qiluvchi barcha jarayonlar tomonidan taqsimlanadimi?

Bilaman, veb-ilovada ishlatiladigan statik o'zgaruvchi veb-ilovadagi barcha foydalanuvchilar uchun baham ko'riladi. Agar menda statik shaxsiy o'zgaruvchidan foydalanadigan kutubxona (DLL) bo'lsa, ushbu kutubxonadan foydalanadigan barcha ilovalar ushbu o'zgaruvchining qiymatini baham ko'radimi?

Misol uchun, mening DLL-da quyidagi kod bor deylik:

private static bool isConnected = false;

public static void Connect()
{
    // TODO: Connect.
    isConnected = true;
}

public static void Disconnect()
{
    // TODO: Disconnect.
    isConnected = false;
}

Keyin A ilovasida isConnected qiymatini True ga o'rnatadigan myDLL.Connect() ga qo'ng'iroq qilaman. Keyin menda xuddi shu narsani bajaradigan B ilovasi bor. Agar A ilovasi keyinroq myDLL.Disconnect() ni chaqirsa, B ilovasi isConnected ni False sifatida ko'radimi, chunki ikkita ilova bir xil DLL faylini statik o'zgaruvchiga ulashadimi? DLL fayli, bu holda, xuddi shu fayl yo'lidagi bir xil fayl bo'ladi.

(Men ilgari veb-ilovalar haqida bir oz o'xshash savol bergan edim bu yerda. U aloqador emas.)


person Devin Burke    schedule 25.07.2011    source manba


Javoblar (1)


Yo'q, ular qilmaydi. Ular alohida AppDomains ga yuklangan va bir-birining misollarini ko'ra olmaydi.

Agar ular bir xil jismoniy faylga murojaat qilsalar ham, har bir dastur o'zining yig'ilishning shaxsiy nusxasini oladi.

person Mrchief    schedule 25.07.2011
comment
Bu shuni anglatadiki, agar X ilovasi bir xil DLL dan foydalansa, har bir APP uchun yig'ilishning X nusxasi bo'ladimi? faqat bir marta tasdiqlash. - person Rahul; 25.07.2011
comment
Qisqa javob - Ha. Uzoq javob: Bu erda kalit so'z AppDomain. Agar X AppDomains bo'lsa, X misollar bo'ladi. Odatiy bo'lib, har bir Ilovada o'z AppDomain bo'ladi, ya'ni X Ilova uchun X misol bo'ladi. Bitta domenda bir nechta ilovalarni yuklash usullari mavjud, ammo bu boshqa muhokama. - person Mrchief; 25.07.2011
comment
Rahmat, buni bilmasdim. Buning uchun +1 - person Rahul; 25.07.2011