Ձեր հարցերին պատասխանելու համար.
Կարո՞ղ եմ լսել SQL Server Service Broker-ի հերթերը .NET հավելվածներից, որոնք աշխատում են այլ մեքենայի վրա:
Այո՛։
Եթե այո, ես պետք է դա անեմ:
Եթե ոչ, ապա ի՞նչ խորհուրդ կտաք:
Դուք կարող եք մտածել SqlDependency
-ի օգտագործման մասին: Այն օգտագործում է Service Broker-ը կուլիսներում, բայց ոչ հստակ:
Դուք կարող եք գրանցել SqlDependency
օբյեկտ SELECT
հարցումով կամ պահպանված ընթացակարգով: Եթե մեկ այլ հրաման փոխի հարցումից վերադարձված տվյալները, ապա իրադարձություն կգործարկվի: Դուք կարող եք գրանցել իրադարձությունների մշակող և գործարկել այն կոդը, որը ցանկանում եք այդ պահին: Կամ, կարող եք օգտագործել SqlCacheDependency
-ը, որը պարզապես կհեռացնի առնչվող օբյեկտը Քեշից, երբ միջոցառումը սկսվի:
Կարող եք նաև ուղղակիորեն օգտվել Service Broker-ից: Այնուամենայնիվ, այդ դեպքում ձեզ անհրաժեշտ կլինի ուղարկել և ստանալ ձեր սեփական հաղորդագրությունները, ինչպես MSMQ-ի դեպքում:
Բեռնվածության հավասարակշռված միջավայրերում SqlDependency
-ը լավ է այն դեպքերի համար, երբ կոդը պետք է գործարկվի յուրաքանչյուր վեբ սերվերի վրա (օրինակ՝ քեշի մաքրումը): Ծառայությունների բրոքերի հաղորդագրություններն ավելի լավ են կոդի համար, քան պետք է գործարկվեն միայն մեկ անգամ, օրինակ՝ էլ.
Եթե դա օգնի, ես մանրամասնորեն լուսաբանում եմ երկու համակարգերը իմ գրքում օրինակներով (Ուլտրա-արագ ASP.NET):
15.11.2009
SqlDependency
-ը մի քանի նախագծերում: Թեև երբեմն այն փխրուն էր, ընդհանուր առմամբ այն հիանալի լուծում էր շատ խնդիրների համար: 10.05.2021