asp.net Problém se sdílením relací může objevit během vývoje nebo nasazení, jak sdílet relace mezi různými aplikacemi? Dnes jsem to hledal, na internetu existuje mnoho metod, mezi nimiž je nejběžnější použití sdílení databáze SqlServer, pokud potřebujete jít na Baidu sami, objeví se to. Ale nebyl by to velký problém, kdyby databáze nebyla SqlServer, ale něco jiného, třeba Oracle? Naštěstí jsem dnes našel jiný způsob, jak implementovat sdílení relací bez použití databáze, tedy metodou StateServer. Bez dalšího otálení se podívejte na kroky implementace:
1. Otevřete registr, spusť cmd/regedit a najděte uzel HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\aspnet_state\Parameters
a. Nastavte hodnotu AllowRemoteConnection na 1
[b. Nastavte hodnotu portu na a5b8 (hexadecimálně), tj. desítkové 42424 (výchozí)]
Výše uvedené doslova umožňuje vzdálené připojení a nastavení portů
2. Změnit typ spuštění počítačové služby "ASP.NET State Service" na Automatický a současně spouštět službu.
3. Přidejte ji pod uzel system.web do souboru web.config projektu webu A a projektu B
Nezapomeňte v kroku 1 nahradit IP adresu služby a portem nastaveným
4. Přidejte následující kód do Global.asax.cs projektu webu A a projektu B
Věnuj pozornost dvěmaAPPNAME by měl být nastaven na stejnou hodnotu。 Výše uvedené řešení řeší problém sdílení relací. Výše uvedená řešení jsou zde uvedena
Nakonec můžete otestovat, zda dokážete napsat Session v projektu A pro čtení v projektu B webu, nebo napsat Seesion v projektu B webu pro čtení v projektu A na webu.
|