ตัวเลือกของบรรณาธิการ:

การโฆษณา

บ้าน - อินเทอร์เน็ต
การเชื่อมต่อปัจจุบันไม่ได้กำหนดเซสชันตัวกำหนดค่าไว้ เราไล่ผู้ใช้ออกจากฐานข้อมูลเซิร์ฟเวอร์

ในการดำเนินการบำรุงรักษาตามปกติในฐานข้อมูล 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:Enterprise 8
  • คุณจะเรียนรู้อะไรจากบทความนี้?

อะไรคือความแตกต่างระหว่างเซสชันและการเชื่อมต่อ? คำถามที่ดูเหมือนง่ายในการสอบ 1C:Expert นี้ทำให้หลายคนสับสน แม้จะมีประสบการณ์ด้านการเขียนโปรแกรมมาพอสมควร แต่ไม่ใช่ว่าผู้เชี่ยวชาญทุกคนจะสามารถกำหนดคำตอบที่ชัดเจนและถูกต้องได้

ในบทความนี้ เราจะให้การวิเคราะห์โดยละเอียดเกี่ยวกับปัญหานี้ ก่อนอื่น มาดูแนวคิดของเซสชันและการเชื่อมต่อใน 1C:Enterprise แยกกัน โปรดทราบว่าข้อมูลนี้เกี่ยวข้องกับแพลตฟอร์มเวอร์ชัน 8.2.x และ 8.3.x

เซสชั่น 1C

โปรดดูคู่มือผู้ดูแลระบบ โดยกำหนดแนวคิดของเซสชันดังนี้:

เซสชันจะกำหนดผู้ใช้ที่ใช้งานอยู่ของฐานข้อมูลและขั้นตอนการควบคุมของผู้ใช้รายนี้

เราสามารถพูดได้ว่าคลัสเตอร์เซิร์ฟเวอร์ไม่เห็นผู้ใช้ แต่จะมองเห็นเซสชันและข้อมูลเซสชันแทน โดยหลักการแล้ว คอนโซลการจัดการคลัสเตอร์ไม่มีส่วน "ผู้ใช้" คลัสเตอร์จะเข้าใจเซสชันในฐานะผู้ใช้

นี่เป็นการยืนยันการแสดงภาพของรายการ "เซสชัน" - ไอคอนจะแสดงในรูปแบบของผู้ใช้

ควรชี้แจงว่าผู้ใช้ที่ใช้งานอยู่ไม่ได้หมายถึงการเชื่อมต่อไคลเอ็นต์เสมอไป แต่ก็อาจเป็น:

  • อินสแตนซ์ของแอปพลิเคชันไคลเอ็นต์ 1C:Enterprise
  • อินสแตนซ์แอปพลิเคชันเว็บที่เว็บไคลเอ็นต์ถูกดำเนินการ
  • อินสแตนซ์การเชื่อมต่อภายนอกที่ได้รับจากวัตถุ V83.COMConnector
  • 1 อินสแตนซ์ของงานพื้นหลัง
  • 1 โทรไปยังบริการเว็บ

ข้อมูลเซสชัน

ลองพิจารณาแนวคิดของข้อมูลเซสชัน เซสชันประกอบด้วยข้อมูลบางอย่าง เช่น:

  • ชื่อของฐานข้อมูล
  • หมายเลขเซสชัน
  • ชื่อของผู้ใช้ฐานข้อมูลที่ได้รับการรับรองความถูกต้อง
  • ภาษาอินเทอร์เฟซ
  • ค่าพารามิเตอร์เซสชัน
  • การจัดเก็บชั่วคราว
  • สถิติเซสชัน
  • ข้อมูลแบบฟอร์มใบสมัครที่ได้รับการจัดการ
  • ข้อมูลแพลตฟอร์มภายในบางส่วน

ข้อมูลนี้เรียกว่าข้อมูลเซสชัน นอกจากนี้ ผู้ใช้ที่ใช้งานอยู่แต่ละคนจะมีข้อมูลเซสชันของตนเอง และจะเกี่ยวข้องเฉพาะในช่วงระยะเวลาการทำงานของเขาเท่านั้น หากผู้ใช้ออกจากฐานข้อมูล (สิ้นสุดเซสชัน) ข้อมูลเซสชันของเขาจะถูกลบ

ข้อมูลเซสชันจะถูกจัดเก็บไว้ในคลัสเตอร์ของเซิร์ฟเวอร์ โดยผู้จัดการคลัสเตอร์จะรับผิดชอบในเรื่องนี้ และนี่คือสิ่งที่บริการข้อมูลเซสชันมีไว้เพื่อ เพื่อเพิ่มความเร็ว ข้อมูลเซสชันจะถูกแคชไว้ในกระบวนการของผู้ปฏิบัติงานและในไคลเอนต์แบบหนา

เมื่อรีสตาร์ทคลัสเตอร์เซิร์ฟเวอร์ ข้อมูลเซสชันจะถูกเก็บรักษาไว้ หากผู้ใช้ที่ใช้งานอยู่ไม่ได้ทำการเรียกคลัสเตอร์เพียงครั้งเดียวภายใน 20 นาที และเซสชันไม่ได้ถูกกำหนดให้กับการเชื่อมต่อ เซสชันจะถูกลบพร้อมกับข้อมูล

เพื่อรักษาเซสชั่น ไคลเอนต์แบบบางและเว็บไคลเอ็นต์ให้การเข้าถึงคลัสเตอร์อย่างน้อยหนึ่งครั้งทุกๆ 10 นาที

การเชื่อมต่อ 1C

ตอนนี้เรามาทำความเข้าใจแนวคิดเรื่องการเชื่อมต่อกัน มาดูคู่มือผู้ดูแลระบบอีกครั้ง:

การเชื่อมต่อเป็นวิธีการเข้าถึงเซสชันไปยังคลัสเตอร์ของเซิร์ฟเวอร์ 1C:Enterprise ซึ่งมีชุดข้อมูลการเชื่อมต่อที่จำกัด และไม่ได้ระบุตัวตนกับผู้ใช้ที่ใช้งานอยู่

กล่าวอีกนัยหนึ่ง การเชื่อมต่ออนุญาตให้เซสชันเข้าถึงคลัสเตอร์ได้ ในกรณีนี้ จำนวนการเชื่อมต่อจะถูกจำกัด และทันทีที่เซสชันไม่ต้องการอีกต่อไป การเชื่อมต่อก็จะถูกส่งกลับไปยังพูลการเชื่อมต่อ

หากเซสชันไม่ได้เข้าถึงคลัสเตอร์ นั่นคือ ผู้ใช้ไม่ได้ใช้งาน การเชื่อมต่อจะไม่ถูกกำหนดให้กับเขา ดังนั้น เซสชันจึงสามารถดำรงอยู่ได้โดยไม่ต้องเชื่อมต่อ

ควรสังเกตว่าข้อมูลเซสชันถูกเก็บไว้บนเซิร์ฟเวอร์ ดังนั้นหากการเชื่อมต่อขาดหายไปเป็นเวลาน้อยกว่า 20 นาที สิ่งนี้จะไม่ส่งผลกระทบต่อเซสชัน เนื่องจากการเชื่อมต่อเป็นเพียงวิธีการเข้าถึง

เช่น หากคุณเผลอดึงออกมา สายเคเบิลเครือข่ายผู้ใช้จะไม่ได้รับข้อความแสดงข้อผิดพลาดหากเชื่อมต่อสายเคเบิลภายใน 20 นาที ในกรณีนี้ เซสชันจะได้รับการกำหนดการเชื่อมต่อใหม่และทำงานต่อไป ผู้ใช้จะไม่ทราบถึงปัญหาด้วยซ้ำ ยกเว้นว่าอาจจะเกิดการค้างเล็กน้อย

การเชื่อมต่อยังใช้เพื่อสื่อสารระหว่างกระบวนการคลัสเตอร์ นั่นคือ กระบวนการของผู้ปฏิบัติงาน (rphost) สื่อสารกับตัวจัดการคลัสเตอร์ (กระบวนการ rmngr) โดยใช้การเชื่อมต่อ แทนที่จะใช้เซสชัน

ความแตกต่างระหว่างการเชื่อมต่อและเซสชัน

เพื่ออธิบายความแตกต่างที่สำคัญระหว่างแนวคิดเหล่านี้ เราจะให้การเปรียบเทียบ

สมมติว่าเซสชั่นเป็นผู้โดยสารและการต่อเครื่องคือแท็กซี่ เมื่อผู้โดยสารจำเป็นต้องกลับบ้าน (เซสชั่นจำเป็นต้องเชื่อมต่อกับเซิร์ฟเวอร์) ผู้โดยสารจะเรียกแท็กซี่ (เซสชั่นถูกกำหนดการเชื่อมต่อจากพูลการเชื่อมต่อ)

หากถึงบ้านแล้วผู้โดยสารต้องการไปทำงานอีกครั้ง แต่แท็กซี่ออกไปแล้ว (หลังจากเชื่อมต่อการเชื่อมต่อถูกตัดการเชื่อมต่อ) ผู้โดยสารจึงเรียกรถแท็กซี่ใหม่และไปทำธุรกิจของเขา (การเชื่อมต่อใหม่ได้รับมอบหมายให้ เซสชัน)

การเปรียบเทียบนี้แสดงให้เห็นอย่างชัดเจนว่าเซสชันและการเชื่อมต่อไม่เหมือนกัน และเซสชันสามารถรอดพ้นจากการขาดการเชื่อมต่อได้อย่างง่ายดาย

เบอร์มิสตรอฟ อันเดรย์



 


อ่าน:


ใหม่

วิธีฟื้นฟูรอบประจำเดือนหลังคลอดบุตร:

การใช้สไตล์ใน Excel วิธีสร้างสไตล์ใหม่ของคุณเอง

การใช้สไตล์ใน Excel วิธีสร้างสไตล์ใหม่ของคุณเอง

หากคุณใช้ตัวเลือกเดียวกันนี้ในการจัดรูปแบบเซลล์ในเวิร์กชีตในสเปรดชีตของคุณอย่างสม่ำเสมอ ขอแนะนำให้สร้างสไตล์การจัดรูปแบบ...

เกิดข้อผิดพลาดอะไรระหว่างการติดตั้ง?

เกิดข้อผิดพลาดอะไรระหว่างการติดตั้ง?

หมายเหตุ: โปรแกรม AutoLISP สามารถทำงานได้บน AutoCAD เวอร์ชันเต็มเท่านั้น โดยจะไม่ทำงานภายใต้ AutoCAD LT (ไม่รวมกรณีโหลด...

สถานภาพทางสังคมของบุคคลในสังคม

สถานภาพทางสังคมของบุคคลในสังคม

เสนอแนะสิ่งที่กำหนดการเลือกสถานะหลักของบุคคล การใช้ข้อความและข้อเท็จจริงของชีวิตทางสังคม ตั้งสมมติฐานสองข้อ และ...

การตีความข้อผิดพลาดแบบเต็ม

การตีความข้อผิดพลาดแบบเต็ม

มีผู้ใช้จำนวนไม่น้อยที่ต้องเผชิญกับปรากฏการณ์หน้าจอสีน้ำเงินแห่งความตาย จะทำอย่างไร (Windows 7 มักเกิดปัญหานี้บ่อยที่สุด)...

ฟีดรูปภาพ อาร์เอสเอส