Skip Ribbon Commands
Skip to main content

​​​​​​​​​

એપ સર્વર સ્લોટ વચ્ચે સ્વેપ કરતી વખતે ડેટાબેઝ કનેક્શન સ્ટ્રિંગ

ધ્યાનમાં રાખો કે તમારી પાસે એઝ્યુર એપ્લિકેશન સેવા વેબ એપ્લિકેશન છે કે જે ટ્રાફિકની મોટી સંખ્યાને સંભાલે છે અને ડેટાબેઝ એક્સેસ કરે છે, આકૃતિ 1 માં બતાવ્યા પ્રમાણે સરખા આર્કીટેક્ચર સાથે. જ્યારે તમે કાર્યરત કરો છો ત્યારે તમે ભૂલોને ગોઠવવાનું અથવા નોંધપાત્ર ડાઉનટાઇમ થવાનું જોખમ લેવા માંગતા નથી જયારે તમે નવા પ્રકાશનને ડેપ્લોય કરો આ એ છે કે તમે કાર્યરત સ્લોટ ધરાવો છો. એક કાર્યરત સ્લોટ એક વધારાનું એઝ્યુર એ​પ્લિકેશન સેવા વેબ એપ્લિકેશન ઉદાહરણ (W3WP) છે કે જે સરખા નામની તમારા પ્રોડક્શનની એઝ્યુર એપ્લિકેશન સેવા વેબ એપ્લિકેશનને બંધારિત કરે છે અને એજ એપ સર્વિસ પ્લાન (ASP) પર ચાલે છે કે જેની here ચર્ચા કરી છે. આ ડેવલપમેન્ટ સ્લોટથી તમે જીવંત વેબ એપ્લિકેશન માટે પ્રકાશન પહેલાં પરીક્ષણ માટે પરીક્ષણ અથવા નોન-પ્રોડક્શન તૈયાર કોડને ગોઠવી શકો છો. કાર્યરત  સ્લોટની સુંદરતા એ છે કે તમે બટન અને કાર્યરત  સ્લોટને હલાવી શકો છો જેમાં નવા સંસ્કરણનું પ્રોડક્શન સાથે સ્વેપ કરવામાં આવ્યું છે, અને બેંગ, નવી આવૃત્તિ લાઇવ છે, ફક્ત એક ક્લિક સાથે.

 

આકૃત્તિ 1 માં સૂચિત છે કે ત્યાં SQL સર્વર છે કે જેની પાસે 2 SQL એઝ્યુર ડેટાબેઝ છે, એકને stickyslot-pro અને બીજાને stickyslot-tst કહેવાય છેવધુમાં, એપ સર્વિસ પ્લાન (ASP) છે જે STICKYSLOT-ASP કહેવાય છે કે જે કાર્યરત  સ્લોટ નામવાળી testing સાથે stickyslot કહેવાતી એઝ્યુર એપ સર્વિસ વેબ એપ પર ચાલે છે. જે તમામ STICKSLOT-RG નામના રિસોર્સ ગ્રુપમાં સમાવેલ છે.

 

Figure 1, best case, App Service architecture diagram

Here એક સારો લેખ છે જે સ્ટીકી સ્લોટની ચર્ચા કરે છે.

આ લેખમાં PRO (પ્રોડક્શન) થી TST (પરિક્ષણ ઉદાહરણો) માં એઝ્યુર એપ્લિકેશન સેવા વેબ એપ્લિકેશન કાર્યરત સ્લોટ સ્વેપથી ચિંતિત છું. વાત એ છે કે , મૂળભૂતરીતે એપ સુયોજનો અને ડેટાબેઝ કનેક્શન સ્ટ્રિંગ સ્લોટમાં સ્ટીકી નથી અને વેબ એપને અનુસરે છે જયારે ટેસ્ટ સ્લોટ એ પ્રોડક્શન સ્લોટ સાથે સ્વેપ થયેલ છે. આ પરિસ્થિતિમાં, તેનો મતલબ એ છે કે જયારે હું મારો testing કાર્યરત સ્લોટ સ્વેપ કરું, stickslot-tst ડેટાબેઝ થી પ્રોડક્શન માંથી તેનાં ડેટાને મેળવી રહ્યા છે. તેથી, મને વેબ એપ્લિકેશન વિકાસ સ્લોટને સ્વેપ કરવાની રીતની જરૂર છે પરંતુ પ્રોડક્શન તરફ સંકેત કરતી વર્તમાન પ્રોડક્શન વેબ એપના ડેટાબેઝ કનેક્શન સ્ટ્રિંગ અને અને પરીક્ષણ ડેટાબેઝના નિર્દેશ કરતી ચકાસણી રાખો. આ સુયોજન 'સ્લોટ માટે સ્ટીકી' બનાવીને પ્રાપ્ત થાય છે.

ધારો કે મારાં વેબ એપ પ્રોડક્શન માટે, મારી પાસે 2 વેલ્યુ છે હું પ્રોડક્શન રેહવા માંગુ છું જયારે સ્વેપ કરતા હોય. આકૃતિ 2 જુઓ.

 
 

Figure 2, sticky slot settings that remain in production even when swapped with a testing slot

નોંધો કે ત્યાં Value = ProductionEnvironment સાથે STICKSLOT નામની એપ સુયોજન અને StickySlotConnectionString નામની કનેક્શન સ્ટ્રિંગ છે કે જે પ્રોડક્શન ડેટાબેઝ નામને સમાવે છે, વપરાશકર્તા છે અને પાસવર્ડ છે, ઉદાહરણ તરીકે. સૌથી અગત્યનું, નોંધો કે સ્લોટ સુયોજન ચેક બોક્સ પસંદ થયેલ છે જેનો અર્થ છે કે આ વેબ એપ સાથે રહે છે અને જયારે સ્વેપ થાય ત્યારે ખસતુ નથી. ટેસ્ટીંગ ડેવલપમેન્ટ સ્લોટમાં પણ નોંધ કરો, આકૃતિ 3 જુઓ, મારી પાસે એજ એપ સુયોજન અને કનેક્શન સ્ટ્રિંગ (કી અને નામ) છે, પરંતુ તેઓ પાસે અલગ અલગ વેલ્યુ છે, સ્લોટ સુયોજન ચેકબોક્સમાં પણ ચકાસેલ છે તેથી તે ટેસ્ટીંગ વેબ એપ પર રહે છે, કોઈ રીતે હું મારા ટેસ્ટીંગ વેબ એપને ક્યારેય પ્રોડક્શન પર્યાવરણને નિર્દેશન કરવા માંગતી નથી.
 

Figure 3, sticky slot settings that remain in testing even when swapped with a production slot

મેં વધારાનાં એપ સુયોજન MoveWhenSwapped ઉમેર્યું છે, કે જેને મેં સ્ટીકી બનાવ્યું નથી, એટલે કે આને સ્વેપ સાથે ખસેડાશે નહીં, તેથી, જયારે હું પ્રોડક્શન અને ટેસ્ટને સ્વેપ કરું છું, પછી તે એપ સુયોજન પ્રોડક્શન વેબ એપ રૂપરેખાંકનમાં હશે ટેસ્ટીંગમાં નહિ હોય. ચાલો જોઈએ, જયારે બધું  ચકાસી દીધું હોય અને ટેસ્ટીંગ પર્યાવરણ પર પ્રોડક્શન માટે તૈયાર હોય, ટેસ્ટીંગ વેબ એપ પર જાઓ અને આકૃતિ 4 માં બતાવ્યા પ્રમાણે સ્વેપ લીંક પર ક્લિક કરો.
 
 

Figure 4, swap Azure App Service Web App between slots, sticky slots

swap with preview” નામનું લક્ષણ છે કે જે here સરસ રીતે લખાયું છે. મૂળભૂત રીતે, આ લક્ષણ તમારા ટેસ્ટીંગ પર્યાવરણ તરફ દોરે છે ખાતરી કરો કે રીઅલ ટ્રાફિકનો માર્ગ શરૂ કરતા પહેલા બધું ઈચ્છા પ્રમાણે ચાલી રહ્યું છે. ખાતરી કરો કે તમે સ્વેપ પૂર્ણ કરો છો અથવા તેને પાછું રોલ કરો કારણ કે તમે તમારા પરીક્ષણને ખૂબ લાંબા સમય સુધી નિર્દેશિત રાખવા નથી માગતા. આ બધી પરિસ્થિતિમાં કામ કરતુ નથી જો ત્યાં ડેટાબેઝ બંધારણ બદલાવ હોય કે જે પ્રોડક્શન પર્યાવરણને તોડી નાખી શકે છે જો ડેપ્લોય થયેલ અને પરિક્ષણ ઉદાહરણ અપગ્રેડ કર્યા વિના હાલના પ્રોડક્શન પર્યાવરણ પર ચાલતું ના હોય. છતાંપણ તેને JIC નો શોટ આપો. તેમ છતાં, સ્વેપ બનાવો અને  પછી એપ સુયોજનોની ખાતરી કરવા માટે પ્રોડક્શન વેબ એપ ચકાસો અને કનેક્શન સ્ટ્રિંગ એ અપેક્ષિત પરિણામ છે. ખરેખર તેઓ આકૃતિ 5 માં બતાવ્યા પ્રમાણે છે.

 
 
 

Figure 5, sticky slots Azure App Service Web App App Settings and Connection strings

વેલ્યુ અપેક્ષા પ્રમાણે રહી અને MoveWhenSwapped ને ટેસ્ટીંગ માંથી પ્રોડક્શન વેબ એપ પ્રોસેસમાં ખસેડાઈ. નોંધો કે MoveWhenSwapped ખસેડાઈ, એનો અર્થ એ છે કે ટેસ્ટીંગ વેબ એપ પર અસ્તિત્વમાં નથી. આનો અર્થ એ છે કે, જો તમે તમારી વેબ એપ સ્વેપ કરવા માંગો છો અને કનેક્શન સ્ટ્રિંગ જેમ છે એમ રેહવા માંગો છો, પછી સ્લોટ સુયોજન ચેક બોક્સ પસંદ કરીને સ્ટીકી તરીકે માર્ક કરો અને તમે બધા સેટ છો.

 

થોડું ઊંડાણમાં આપણે જઈએ છીએ

કેટલાક પ્રશ્નો મારી પાસે હતા:

 

  • હું મારા કોડમાંથી કનેક્શન સ્ટ્રિંગ અને એપ સુયોજનને કેવી રીતે વાપરું
  • જો મારી પાસે મારી web.config  ફાઈલમાં કનેક્શન સ્ટ્રિંગ હોય તો શું થાય અને જો મારી પાસે બંને હોય તો શું થાય છે

ચાલો આ પ્રશ્નોના જવાબ આપો.

હું મારા કોડમાંથી કનેક્શન સ્ટ્રિંગ અને એપ સુયોજનને કેવી રીતે વાપરું

 

ક્યાંતો પોર્ટલમાં અથવા web.config રૂપરેખાંકિત થયેલ વેલ્યુ માંથી કનેક્શન સ્ટ્રિંગને વાપરવા માટે તમારે નીચેનાં કોડને વાપરો.

ConfigurationManager.ConnectionStrings["StickySlotConnectionString"]?.ConnectionString;

 
જોડાણનાં નામને પાસ કરે છે અને વેલ્યુ રીટર્ન થાય છે.

એપ વેલ્યુને વાપરવા માટે, નીચેનાંને વાપરો.

ConfigurationManager.AppSettings["STICKYSLOT"];

 
જો મારી પાસે મારી web.config  ફાઈલમાં કનેક્શન સ્ટ્રિંગ હોય તો શું થાય અને જો મારી પાસે બંને હોય તો શું થાય છે

ખરેખર કંઈ નથી, જ્યાં સુધી તેનું નામ અનન્ય છે, જો વેલ્યુ એ web.config માં હોય પછી તે મળી આવશે અને જો વેલ્યુ એ પોર્ટલમાં હોય, તે પણ મળી આવશે. જુઓ કે તમારી પાસે કોઈપણ કનેક્શન સ્ટ્રિંગ અથવા એપ સુયોજન માટેનું નામ નથી. જો આ થાય તો, પછી, જયારે હું તેને ચકાસું ત્યારે, પોર્ટલમાં રૂપરેખાંકિત થયેલ વેલ્યુ એ કોડ દ્વારા વાપરેલ વેલ્યુ હતી. તેથી, જો તમારી પાસે બંને પોર્ટલ અને web.config માં રૂપરેખાંકિત થયેલ StickySlotConnectionString નામવાળી કનેક્શન સ્ટ્રિંગ હોય, પછી web.config માં વેલ્યુમાં કરેલ ફેરફારોને અવગણવામાં આવશે.​​

​​
​​​​ ​​​​​​​​​​​​​​​​​​
​​​​
This site uses Unicode and Open Type fonts for Indic Languages. Powered by Microsoft SharePoint
©2017 Microsoft Corporation. All rights reserved.