ASP.NET rolul machineKey
Dacă Asp.Net ta rulează programul și întâlnește această eroare: "Validarea stării vizualizării MAC a eșuat." Dacă această aplicație este găzduită de o fermă de rețea sau un cluster, asigurați-vă că <machineKey> configurația specifică același algoritm de validationKey și validare. AutoGenerate nu poate fi folosit într-un cluster. Care este scopul machineKeys dacă aplicația ta nu folosește un machineKey unificat? Conform standardelor MSDN: "Configurați cheile pentru a fi folosite pentru a cripta și decripta datele cookie-urilor de autentificare ale formularelor și pentru vizualizarea datelor de stare, precum și pentru a valida identitățile de stare ale sesiunilor aflate în afara procesului." Cu alte cuvinte, multe dintre criptări Asp.Net se bazează pe valorile din machineKey, cum ar fi cookie-ul de autentificare Forms și criptarea ViewState. În mod implicit, configurația Asp.Net este generată dinamic de ea însăși, dacă un singur server este, desigur, în regulă, dar dacă mai multe servere sunt echilibrate cu încărcare, machineKey adoptă și o metodă de generare dinamică, valoarea MachineKey pe fiecare server este inconsistentă, rezultând rezultate criptate inconsistente și nu poate partaja verificarea și ViewState, astfel încât pentru echilibrarea încărcării mai multor servere, același machineKey trebuie configurat la fiecare locație.
Algoritm generat ASP.NET machineKey:
|