ส่วนของเว็บไซต์
ตัวเลือกของบรรณาธิการ:
- การสร้างทางลัดบนเดสก์ท็อปสำหรับเพื่อนร่วมชั้น
- หากรองเท้าไม่พอดีกับ Aliexpress: การกระทำที่ถูกต้องในกรณีนี้ ผลิตภัณฑ์ Aliexpress มีขนาดที่เหมาะสม
- ข้อพิพาทใน AliExpress เข้าร่วมข้อพิพาทใน AliExpress
- 3 ฐานข้อมูลแบบกระจาย
- ผู้จัดการเนื้อหา - ความรับผิดชอบ เงินเดือน การฝึกอบรม ข้อเสียและข้อดีของการทำงานเป็นผู้เชี่ยวชาญด้านเนื้อหา
- จะป้องกันตัวเองจากการขุดที่ซ่อนอยู่ในเบราว์เซอร์ของคุณได้อย่างไร?
- การกู้คืนรหัสผ่านใน Ask
- วิธีเปิดกล้องบนแล็ปท็อป
- ทำไมเพลงไม่เล่นบน VKontakte?
- วิธีเพิ่มขนาดของไดรฟ์ C โดยเสียค่าใช้จ่ายของไดรฟ์ D โดยไม่สูญเสียข้อมูล
การโฆษณา
การเชื่อมต่อปัจจุบันไม่ได้กำหนดเซสชันตัวกำหนดค่าไว้ เราไล่ผู้ใช้ออกจากฐานข้อมูลเซิร์ฟเวอร์ |
ในการดำเนินการบำรุงรักษาตามปกติในฐานข้อมูล 1C:Enterprise 8 มักจำเป็นต้องได้รับการเข้าถึงฐานข้อมูลแบบเอกสิทธิ์เฉพาะบุคคล ตัวอย่างเช่น หากต้องการสำรองฐานข้อมูลหรือบำรุงรักษาตามปกติบนเซิร์ฟเวอร์ DBMS (การจัดทำดัชนีใหม่ ฯลฯ) คุณต้องยกเลิกการเชื่อมต่อเซสชันที่ใช้งานอยู่ทั้งหมด มาดูวิธีง่ายๆ ในการยกเลิกการเชื่อมต่อผู้ใช้ ฐานข้อมูลใช้ฟังก์ชันมาตรฐานของเซิร์ฟเวอร์ 1C:Enterprise ฟังก์ชั่นมาตรฐานฉันขอจองทันทีว่าเราจะพูดถึง 1C:Enterprise 8 เวอร์ชันไคลเอ็นต์-เซิร์ฟเวอร์ หากต้องการปิดใช้งานเซสชัน ไปที่คอนโซลการดูแลระบบเซิร์ฟเวอร์ ที่นั่นเราจะพบฐานข้อมูลที่จำเป็นในรายการ: โดยไปที่คุณสมบัติความปลอดภัยของข้อมูล ให้ตั้งค่าตัวเลือก “เปิดใช้งานการบล็อกการเริ่มต้นเซสชัน” ในกรณีนี้ คุณอาจต้องระบุข้อมูลเข้าสู่ระบบ/รหัสผ่าน บัญชีผู้ดูแลระบบฐานข้อมูล อย่าลืมตั้งระยะเวลาล็อคเซสชั่น คุณควรตรวจสอบให้แน่ใจด้วยว่าในขณะที่เซสชันถูกบล็อก คุณต้องหยุดทั้งหมด งานพื้นหลัง- ทำได้โดยใช้ตัวเลือก "เปิดใช้งานการบล็อกงานประจำ" หากจำเป็น คุณสามารถตั้งค่าข้อความของข้อความให้กับผู้ใช้ที่พวกเขาจะได้รับแจ้ง 5 นาทีก่อนที่เซสชันจะถูกบล็อก รวมถึงรหัสอนุญาตสำหรับการเข้าสู่ฐานข้อมูลในช่วงระยะเวลาการบล็อกเซสชัน รหัสอนุญาตสามารถใช้เพื่อเข้าสู่ฐานข้อมูลเพื่อดำเนินการบำรุงรักษาตามปกติในขณะที่เซสชันอื่นไม่ได้ใช้งาน คุณต้องป้อนรหัสอนุญาตเมื่อเชื่อมต่อกับฐานข้อมูลโดยใช้พารามิเตอร์ ตัวอย่างเช่น นี่คือลักษณะที่พารามิเตอร์ที่ส่งไปยังเซิร์ฟเวอร์จะมีลักษณะเช่นนี้ หากรหัสสิทธิ์คือ "123456" โดยการเข้าสู่ฐานข้อมูลด้วยวิธีนี้ เราจะได้รับการเข้าถึงฐานข้อมูลแต่เพียงผู้เดียว เซสชันอื่นจะไม่สามารถเข้าร่วมกับเราได้ การแจ้งเตือนผู้ใช้ว่าเซสชันถูกบล็อกมีลักษณะดังนี้ (ขึ้นอยู่กับข้อความที่ผู้ดูแลระบบป้อน) จะปรากฏทุกนาที 5 นาทีก่อนช่วงเวลาปิดกั้น เมื่อระยะเวลาการบล็อกเซสชันเริ่มต้นขึ้น การแจ้งเตือนจะปรากฏขึ้นก่อน: หลังจากนั้นเซสชั่นจะสิ้นสุดลง เซสชันที่ใช้งานอยู่สามารถปิดใช้งานได้โดยลบออกจากรายการเซสชันที่ใช้งานอยู่ การดำเนินการนี้บางครั้งจำเป็นเพื่อยุติเซสชันที่หยุดทำงาน ในทางปฏิบัติ ควรแจ้งล่วงหน้าเกี่ยวกับการขาดการเชื่อมต่อของผู้ใช้ล่วงหน้าเพื่อลดความเสี่ยงในการสูญเสียข้อมูลที่ผู้ใช้ป้อนแต่ยังไม่ได้บันทึก พารามิเตอร์เซสชัน 1C 8.3— ตัวแปรที่เก็บค่าของพารามิเตอร์ที่ต้องการไว้ตลอดระยะเวลาเซสชันผู้ใช้ โดยพื้นฐานแล้ว นี่คือตัวแปรส่วนกลางชนิดหนึ่งที่เชื่อมโยงกับเซสชันของผู้ใช้ปัจจุบัน การใช้พารามิเตอร์เซสชันใน 1Cพารามิเตอร์เซสชันถูกตั้งค่าโดยทางโปรแกรมเท่านั้น ไม่มีอินเทอร์เฟซสากลสำหรับการตั้งค่าพารามิเตอร์เซสชันในระบบ โดยปกติจะตั้งค่าไว้เมื่อเริ่มต้นระบบใน "โมดูลเซสชัน" หากไม่ได้กำหนดพารามิเตอร์ จะทำให้เกิดข้อผิดพลาดเมื่อเข้าถึงพารามิเตอร์นั้น ตัวอย่างการตั้งค่าพารามิเตอร์เซสชัน 1Cลองดูตัวอย่างทั่วไปของการใช้พารามิเตอร์เซสชัน - การตั้งค่าผู้ใช้ปัจจุบัน ผมจะยกตัวอย่างจากการเตรียมตัวครับ เราจะสร้างแผนผังข้อมูลเมตา พารามิเตอร์ใหม่เซสชัน - CurrentUser กำหนดประเภท - DirectoryLink.Individuals: รับบทเรียนวิดีโอ 267 บทเรียนบน 1C ฟรี: ในโมดูลเซสชัน เราจะสร้างขั้นตอนที่จะกำหนดพารามิเตอร์เซสชันปัจจุบัน: รหัสขั้นตอน: ขั้นตอนการตั้งค่าพารามิเตอร์เซสชัน (พารามิเตอร์ที่จำเป็น) //มองหาทางกายภาพ บุคคลตามชื่อผู้ใช้ TechUser = ไดเรกทอรี บุคคล. FindByName(ชื่อผู้ใช้()); //หากไม่พบให้สร้างใหม่ถ้า TechUser. ว่างเปล่า () จากนั้น NewUser = Directories บุคคล. สร้างรายการ() ; ผู้ใช้ใหม่ ชื่อ = ชื่อผู้ใช้() ;ผู้ใช้ใหม่ เขียน() ; ผู้ใช้ปัจจุบัน = ผู้ใช้ใหม่ ลิงค์; สิ้นสุดถ้า ;//กำหนดให้กับพารามิเตอร์เซสชัน CurrentUser ลิงก์ไปยังไดเร็กทอรีของบุคคล พารามิเตอร์เซสชัน ผู้ใช้ปัจจุบัน = ผู้ใช้ปัจจุบัน;
อะไรคือความแตกต่างระหว่างเซสชันและการเชื่อมต่อ? คำถามที่ดูเหมือนง่ายในการสอบ 1C:Expert นี้ทำให้หลายคนสับสน แม้จะมีประสบการณ์ด้านการเขียนโปรแกรมมาพอสมควร แต่ไม่ใช่ว่าผู้เชี่ยวชาญทุกคนจะสามารถกำหนดคำตอบที่ชัดเจนและถูกต้องได้ ในบทความนี้ เราจะให้การวิเคราะห์โดยละเอียดเกี่ยวกับปัญหานี้ ก่อนอื่น มาดูแนวคิดของเซสชันและการเชื่อมต่อใน 1C:Enterprise แยกกัน โปรดทราบว่าข้อมูลนี้เกี่ยวข้องกับแพลตฟอร์มเวอร์ชัน 8.2.x และ 8.3.x เซสชั่น 1Cโปรดดูคู่มือผู้ดูแลระบบ โดยกำหนดแนวคิดของเซสชันดังนี้: เซสชันจะกำหนดผู้ใช้ที่ใช้งานอยู่ของฐานข้อมูลและขั้นตอนการควบคุมของผู้ใช้รายนี้ เราสามารถพูดได้ว่าคลัสเตอร์เซิร์ฟเวอร์ไม่เห็นผู้ใช้ แต่จะมองเห็นเซสชันและข้อมูลเซสชันแทน โดยหลักการแล้ว คอนโซลการจัดการคลัสเตอร์ไม่มีส่วน "ผู้ใช้" คลัสเตอร์จะเข้าใจเซสชันในฐานะผู้ใช้ นี่เป็นการยืนยันการแสดงภาพของรายการ "เซสชัน" - ไอคอนจะแสดงในรูปแบบของผู้ใช้ ควรชี้แจงว่าผู้ใช้ที่ใช้งานอยู่ไม่ได้หมายถึงการเชื่อมต่อไคลเอ็นต์เสมอไป แต่ก็อาจเป็น:
ข้อมูลเซสชันลองพิจารณาแนวคิดของข้อมูลเซสชัน เซสชันประกอบด้วยข้อมูลบางอย่าง เช่น:
ข้อมูลนี้เรียกว่าข้อมูลเซสชัน นอกจากนี้ ผู้ใช้ที่ใช้งานอยู่แต่ละคนจะมีข้อมูลเซสชันของตนเอง และจะเกี่ยวข้องเฉพาะในช่วงระยะเวลาการทำงานของเขาเท่านั้น หากผู้ใช้ออกจากฐานข้อมูล (สิ้นสุดเซสชัน) ข้อมูลเซสชันของเขาจะถูกลบ ข้อมูลเซสชันจะถูกจัดเก็บไว้ในคลัสเตอร์ของเซิร์ฟเวอร์ โดยผู้จัดการคลัสเตอร์จะรับผิดชอบในเรื่องนี้ และนี่คือสิ่งที่บริการข้อมูลเซสชันมีไว้เพื่อ เพื่อเพิ่มความเร็ว ข้อมูลเซสชันจะถูกแคชไว้ในกระบวนการของผู้ปฏิบัติงานและในไคลเอนต์แบบหนา เมื่อรีสตาร์ทคลัสเตอร์เซิร์ฟเวอร์ ข้อมูลเซสชันจะถูกเก็บรักษาไว้ หากผู้ใช้ที่ใช้งานอยู่ไม่ได้ทำการเรียกคลัสเตอร์เพียงครั้งเดียวภายใน 20 นาที และเซสชันไม่ได้ถูกกำหนดให้กับการเชื่อมต่อ เซสชันจะถูกลบพร้อมกับข้อมูล เพื่อรักษาเซสชั่น ไคลเอนต์แบบบางและเว็บไคลเอ็นต์ให้การเข้าถึงคลัสเตอร์อย่างน้อยหนึ่งครั้งทุกๆ 10 นาที การเชื่อมต่อ 1Cตอนนี้เรามาทำความเข้าใจแนวคิดเรื่องการเชื่อมต่อกัน มาดูคู่มือผู้ดูแลระบบอีกครั้ง: การเชื่อมต่อเป็นวิธีการเข้าถึงเซสชันไปยังคลัสเตอร์ของเซิร์ฟเวอร์ 1C:Enterprise ซึ่งมีชุดข้อมูลการเชื่อมต่อที่จำกัด และไม่ได้ระบุตัวตนกับผู้ใช้ที่ใช้งานอยู่ กล่าวอีกนัยหนึ่ง การเชื่อมต่ออนุญาตให้เซสชันเข้าถึงคลัสเตอร์ได้ ในกรณีนี้ จำนวนการเชื่อมต่อจะถูกจำกัด และทันทีที่เซสชันไม่ต้องการอีกต่อไป การเชื่อมต่อก็จะถูกส่งกลับไปยังพูลการเชื่อมต่อ หากเซสชันไม่ได้เข้าถึงคลัสเตอร์ นั่นคือ ผู้ใช้ไม่ได้ใช้งาน การเชื่อมต่อจะไม่ถูกกำหนดให้กับเขา ดังนั้น เซสชันจึงสามารถดำรงอยู่ได้โดยไม่ต้องเชื่อมต่อ ควรสังเกตว่าข้อมูลเซสชันถูกเก็บไว้บนเซิร์ฟเวอร์ ดังนั้นหากการเชื่อมต่อขาดหายไปเป็นเวลาน้อยกว่า 20 นาที สิ่งนี้จะไม่ส่งผลกระทบต่อเซสชัน เนื่องจากการเชื่อมต่อเป็นเพียงวิธีการเข้าถึง เช่น หากคุณเผลอดึงออกมา สายเคเบิลเครือข่ายผู้ใช้จะไม่ได้รับข้อความแสดงข้อผิดพลาดหากเชื่อมต่อสายเคเบิลภายใน 20 นาที ในกรณีนี้ เซสชันจะได้รับการกำหนดการเชื่อมต่อใหม่และทำงานต่อไป ผู้ใช้จะไม่ทราบถึงปัญหาด้วยซ้ำ ยกเว้นว่าอาจจะเกิดการค้างเล็กน้อย การเชื่อมต่อยังใช้เพื่อสื่อสารระหว่างกระบวนการคลัสเตอร์ นั่นคือ กระบวนการของผู้ปฏิบัติงาน (rphost) สื่อสารกับตัวจัดการคลัสเตอร์ (กระบวนการ rmngr) โดยใช้การเชื่อมต่อ แทนที่จะใช้เซสชัน ความแตกต่างระหว่างการเชื่อมต่อและเซสชันเพื่ออธิบายความแตกต่างที่สำคัญระหว่างแนวคิดเหล่านี้ เราจะให้การเปรียบเทียบ สมมติว่าเซสชั่นเป็นผู้โดยสารและการต่อเครื่องคือแท็กซี่ เมื่อผู้โดยสารจำเป็นต้องกลับบ้าน (เซสชั่นจำเป็นต้องเชื่อมต่อกับเซิร์ฟเวอร์) ผู้โดยสารจะเรียกแท็กซี่ (เซสชั่นถูกกำหนดการเชื่อมต่อจากพูลการเชื่อมต่อ) หากถึงบ้านแล้วผู้โดยสารต้องการไปทำงานอีกครั้ง แต่แท็กซี่ออกไปแล้ว (หลังจากเชื่อมต่อการเชื่อมต่อถูกตัดการเชื่อมต่อ) ผู้โดยสารจึงเรียกรถแท็กซี่ใหม่และไปทำธุรกิจของเขา (การเชื่อมต่อใหม่ได้รับมอบหมายให้ เซสชัน) การเปรียบเทียบนี้แสดงให้เห็นอย่างชัดเจนว่าเซสชันและการเชื่อมต่อไม่เหมือนกัน และเซสชันสามารถรอดพ้นจากการขาดการเชื่อมต่อได้อย่างง่ายดาย เบอร์มิสตรอฟ อันเดรย์ |
อ่าน: |
---|
ใหม่
- หากรองเท้าไม่พอดีกับ Aliexpress: การกระทำที่ถูกต้องในกรณีนี้ ผลิตภัณฑ์ Aliexpress มีขนาดที่เหมาะสม
- ข้อพิพาทใน AliExpress เข้าร่วมข้อพิพาทใน AliExpress
- 3 ฐานข้อมูลแบบกระจาย
- ผู้จัดการเนื้อหา - ความรับผิดชอบ เงินเดือน การฝึกอบรม ข้อเสียและข้อดีของการทำงานเป็นผู้เชี่ยวชาญด้านเนื้อหา
- จะป้องกันตัวเองจากการขุดที่ซ่อนอยู่ในเบราว์เซอร์ของคุณได้อย่างไร?
- การกู้คืนรหัสผ่านใน Ask
- วิธีเปิดกล้องบนแล็ปท็อป
- ทำไมเพลงไม่เล่นบน VKontakte?
- วิธีเพิ่มขนาดของไดรฟ์ C โดยเสียค่าใช้จ่ายของไดรฟ์ D โดยไม่สูญเสียข้อมูล
- สาเหตุของการทำงานผิดพลาดบนเมนบอร์ด หากชิปเซ็ตบนเมนบอร์ดเกิดไฟไหม้