AMcoder - javascript, python, java, html, php, sql

Կարո՞ղ եք/պետք է օգտագործել SQL Server Service Broker-ը .NET հավելվածների հետ:

Ես շատ գործողություններ ունեմ տվյալների բազայում, որոնք պետք է գործարկեն հավելվածի կոդը: Ներկայումս ես օգտագործում եմ տվյալների բազայի հարցումներ, բայց ես լսում եմ, որ SQL Server Service Broker-ը կարող է ինձ տալ MSMQ-ի նման գործառույթ:

  1. Կարո՞ղ եմ լսել SQL Server Service Broker-ի հերթերը .NET հավելվածներից, որոնք աշխատում են այլ մեքենայի վրա:
  2. Եթե ​​այո, ես պետք է դա անեմ:
  3. Եթե ​​ոչ, ապա ի՞նչ խորհուրդ կտաք:

  • Ինչու՞ չեք նշում պատասխանը, եթե այն օգնել է, կամ պարգևատրում եք, եթե ավելի շատ պատասխաններ եք ուզում: (քանի որ դա գրեթե 5 տարեկան է, դուք հավանաբար այլևս չեք պայքարում դրա հետ ...) 15.05.2014

Պատասխանները:


1

Ձեր հարցերին պատասխանելու համար.

Կարո՞ղ եմ լսել SQL Server Service Broker-ի հերթերը .NET հավելվածներից, որոնք աշխատում են այլ մեքենայի վրա:

Այո՛։

Եթե ​​այո, ես պետք է դա անեմ:

Եթե ​​ոչ, ապա ի՞նչ խորհուրդ կտաք:

Դուք կարող եք մտածել SqlDependency-ի օգտագործման մասին: Այն օգտագործում է Service Broker-ը կուլիսներում, բայց ոչ հստակ:

Դուք կարող եք գրանցել SqlDependency օբյեկտ SELECT հարցումով կամ պահպանված ընթացակարգով: Եթե ​​մեկ այլ հրաման փոխի հարցումից վերադարձված տվյալները, ապա իրադարձություն կգործարկվի: Դուք կարող եք գրանցել իրադարձությունների մշակող և գործարկել այն կոդը, որը ցանկանում եք այդ պահին: Կամ, կարող եք օգտագործել SqlCacheDependency-ը, որը պարզապես կհեռացնի առնչվող օբյեկտը Քեշից, երբ միջոցառումը սկսվի:

Կարող եք նաև ուղղակիորեն օգտվել Service Broker-ից: Այնուամենայնիվ, այդ դեպքում ձեզ անհրաժեշտ կլինի ուղարկել և ստանալ ձեր սեփական հաղորդագրությունները, ինչպես MSMQ-ի դեպքում:

Բեռնվածության հավասարակշռված միջավայրերում SqlDependency-ը լավ է այն դեպքերի համար, երբ կոդը պետք է գործարկվի յուրաքանչյուր վեբ սերվերի վրա (օրինակ՝ քեշի մաքրումը): Ծառայությունների բրոքերի հաղորդագրություններն ավելի լավ են կոդի համար, քան պետք է գործարկվեն միայն մեկ անգամ, օրինակ՝ էլ.

Եթե ​​դա օգնի, ես մանրամասնորեն լուսաբանում եմ երկու համակարգերը իմ գրքում օրինակներով (Ուլտրա-արագ ASP.NET):

15.11.2009
  • Ես հենց նոր գնեցի քո գիրքը, քանի որ այն բավականին լավ տեսք ունի: Բացի այդ, ես կարող եմ աջակցել StackOverflow-ի օգտատերերին: 04.12.2009
  • Շնորհակալություն։ Հուսով եմ, որ դուք վայելեք այն; խնդրում եմ տեղեկացրեք ինձ, թե ինչ եք մտածում: 04.12.2009
  • Քանի որ դուք գրել եք սա, ես օգտագործել եմ SqlDependency-ը մի քանի նախագծերում: Թեև երբեմն այն փխրուն էր, ընդհանուր առմամբ այն հիանալի լուծում էր շատ խնդիրների համար: 10.05.2021

  • 2

    SSB-ն (SQL Service Broker) ունի Ակտիվացում անունով հատկանիշ: որը հնարավորություն է տվել պահված ընթացակարգին միացնել հերթին: SQL Server-ը ներքին կարգով կգործարկի այս ընթացակարգը, երբ հերթում սպառվող հաղորդագրություններ կան: Հերթի կցված ընթացակարգը կարող է լինել CLR ընթացակարգ, որը հնարավորություն է տալիս գործարկել կառավարվող կոդերի բիզնես տրամաբանական մոդուլները (C#, VB.Net etC):

    Ներքին ակտիվացված պահպանված ընթացակարգի այլընտրանքն այն է, որ արտաքին հաճախորդը «լսի» հերթում՝ WAITFOR(RECEIVE ... ) հայտարարությամբ: Այս շարահյուսությունը հատուկ է SSB-ի համար և կատարում է չմիավորվող բլոկ, քանի դեռ հաղորդագրություններ չկան ստանալու համար: Այնուհետև հավելվածները օգտագործում են ստացված հաղորդագրությունները որպես սովորական T-SQL արդյունքների հավաքածու (ինչպես SELECT): Կա նաև օրինակ: Ծառայությունների բրոքերի արտաքին ակտիվացուցիչ, որն օգտագործում է իրադարձությունների ծանուցման մեխանիզմը, որպեսզի իմանա, թե երբ պետք է սկսել հերթից հաղորդագրություններ սպառելու հավելվածը:

    Եթե ​​ցանկանում եք տեսնել T-SQL կոդի նմուշ, որն օգտագործում է SSB-ի ներքին ակտիվացումը, ստուգեք Ասինխրոն ընթացակարգի իրականացում:

    21.09.2009
  • Ես իսկապես փնտրում եմ դրա համապատասխանությունը տվյալների բազայից առանձին մեքենաների վրա աշխատող արտաքին հավելվածներին հաղորդագրություններ ուղարկելու համար: 23.09.2009
  • SSB-ն կարող է հաղորդագրություններ ուղարկել միայն SQL-ի օրինակին: Դուք կարող եք օգտագործել SQL Express հրատարակությունները յուրաքանչյուր առանձին մեքենայի համար: 23.09.2009
  • Ես գիտեմ, որ դա 8 տարի անց է, բայց վերը նշված մեկնաբանությունը ճիշտ չէ: Ծառայությունների բրոքերը կաշխատի պարզապես գտնել արտաքին հերթերի ընթերցողների հետ: Այն նույնիսկ լավ է աշխատում TPL-ի և EF-ի հետ: 05.09.2017

  • 3

    Հեշտ օգտագործվող հերթերի գրադարան SQL Service Broker-ի համար, որը հիմնված է ռնգեղջյուրների հերթերի վրա

    http://github.com/CoreyKaylor/servicebroker-queues

    04.04.2010
    Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..