วิธีตั้งค่า Session Timeout ให้กับ Dynamics 365 Business Central

Spread the love

สวัสดีครับ ใน blog นี้ผมจะบอกเกี่ยวกับวิธีการตั้งค่า Session Timeout ให้กับระบบ Dynamics 365 Business Central ครับ

Photo by Madison Inouye from Pexels

โดยทั่วไปแล้วค่า Idle Session นั้นจะถูกตั้งค่า Default ไว้ที่ 10 นาที (navsettings.json) ซึ่งหมายความว่าถ้าคุณไม่ได้มี action ใด ๆ กับตัว Client ของ Business Central ระบบจะทำการ Log-out ออกจากระบบโดยอัตโนมัติ เพื่อไม่ให้เกิดการเปลืองทรัพยากรให้กับตัว Server นั่น

แต่บางครั้งเราก็ต้องทำงานอย่างอื่นควบคู่ไปด้วย และไม่อยากที่จะต้องมีเสียเวลา Log-in เข้าระบบใหม่ทุกครั้ง และที่น่าหงุดหงิดไปกว่านั้นคือพวกหน้าต่างที่เปิดค้างไว้ก็หายไปด้วย

โดยหลังจากกลับมาที่หน้าจอของโปรแกรม Dynamics 365 Business Central ก็จะเจอข้อความ Error ตามนี้

session-timeout-dynamics-365-business-central-1

We paused while you were away. Please refresh to continue.

เอาละ ด้านล่างนี้เป็นขั้นตอนการตั้งค่า Session Timeout ให้กับ Dynamics 365 Business Central

Session Timeout สำหรับ Web Client นั้นจะถูกควบคุมด้วย Setting ในสองส่วนประกอบไปด้วย Service Tier และ Web Client Configuration

Service Tier

ให้ไปที่ Server แล้วเปิดโปรแกรมที่ชื่อว่า Business Central Administration หรือก็คือโปรแกรมที่เอาไว้สร้าง Service นั่งเอง

เมื่อเปิดขึ้นมาแล้วให้เลือก Instant ที่คุณต้องการตั้งค่า Session Timeout

จากนั้นให้ไปที่แท็ป Client Services จะมี setup ที่ชื่อว่า Idle Client Timeout ให้เช็คว่ามีค่าเป็น MaxValue หรือเปล่า ถ้าไม่ใช่ก็ให้แก้ไขให้เป็น MaxValue (no timeout)

บทความที่คุณอาจสนใจ

วิธี Setup Gmail SMTP ให้กับ Dynamics 365 Business Central
ขั้นตอนการติดตั้ง AL Language บน Visual Studio Code สำหรับ Microsoft Dynamics 365 Business Central

Web Client Configuration

ยังอยู่ที่ Service ให้เปิดโปรแกรม Business Central Administration Shell ให้เปิดโดย Run as administrator

session-timeout-dynamics-365-business-central-2

จะได้โปรแกรมขึ้นมาหน้าตาแบบนี้

session-timeout-dynamics-365-business-central-3

จากนั้นให้พิมพ์คำสั่งตาม script ด้านล่าง

Set-NAVWebServerInstanceConfiguration -WebServerInstance [Instance Name] -KeyName SessionTimeout -KeyValue "HH:MM:SS"

ในตัวอย่าง Instance Name ของผมคือ BC150 และต้องการตั่งค่า Session Timeout ให้เป็นเวลา 1 ชั่วโมง 0 นาที 0 วินาที ดังนั้น script ของผมจะเป็นดังนี้

Set-NAVWebServerInstanceConfiguration -WebServerInstance BC150 -KeyName SessionTimeout -KeyValue "01:00:00"
session-timeout-dynamics-365-business-central-4

ไม่มี Error ขึ้นมาแสดงว่าปกติ จากนั้นขั้นตอนสุดท้ายก็คือการ Restart Service ตาม Script ด้านล่างได้เลย

Restart-NAVServerInstance [Instance Name]

เหมือนเดิม Instance Name ของผมคือ BC150

ดังนั้น script ก็จะเป็น

Restart-NAVServerInstance BC150
session-timeout-dynamics-365-business-central-5

การ Restart Service ต้องใช้เวลาครู่หนึ่ง

session-timeout-dynamics-365-business-central-6

เมื่อ Restart Service เสร็จเรียบร้อยแล้วก็จะได้ Message ขึ้นมาตามรูป

ทีนี้ก็ไม่ต้องปวดหัวกับการเจอ Session Timeout แล้ว ก็ขอจบบทความไว้เพียงเท่านี้ขอบคุณที่อ่านมาจนถึงตรงนี้ แล้วเจอกันใหม่ในบทความหน้าครับ

บทความที่คุณอาจสนใจ

• เริ่มต้นสร้าง Extension แรกบน MS Dynamics 365 BC ตอนที่ 1 – New Table
คู่มือใช้งาน Dynamics 365 Business Central – Sales Module: ตอนที่ 1 สร้าง Customer

ERP Consultant ที่อยากแชร์ความรู้เกี่ยวกับการพัฒนาโปรแกรม Microsoft Dynamics NAV / 365 Business Central ทั้งทางด้าน Business และ Technical ให้กับเหล่านักศึกษา, ผู้ที่เริ่มต้นอาชีพนี้ หรือต้องการที่จะเพิ่มเติมความรู้ด้าน ERP ในรูปแบบ blog ที่เป็นภาษาไทย Contact: amaddev90@gmail.com

Leave a Reply

Your email address will not be published. Required fields are marked *