Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > ต้องการจะเขียนโปรแกรม C# ให้ตั้งเวลา timeout ของ function ครับ



 

ต้องการจะเขียนโปรแกรม C# ให้ตั้งเวลา timeout ของ function ครับ

 



Topic : 056465



โพสกระทู้ ( 21 )
บทความ ( 0 )



สถานะออฟไลน์




เราจะสามารถเขียนโปรแกรม c# ให้มันจับเวลาตอนเรียก function ได้ไหมครับ ยกตัวอย่างเช่น ถ้าไม่มีการ return ผลลัพธ์มาในเวลาที่กำหนด



Tag : C#, VS 2005 (.NET 2.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-02-23 17:55:57 By : marcus147 View : 2757 Reply : 3
 

 

No. 1



โพสกระทู้ ( 21 )
บทความ ( 0 )



สถานะออฟไลน์


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






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-24 01:29:18 By : marcus147
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ลองใช้ try ในการครอบ function เพื่อให้โปรแกรมสามารถทำงานต่อไปได้ครับ

Code (C#)
          try
         {

         }
         catch(System.NullReferenceException ex)
         {

         }
         catch(System.DivideByZeroException ex)
         {

         }
         catch(System.MissingMethodException ex)
         {

         }
         catch(System.OverflowException ex)
         {

         }


Go to : (C#) ASP.NET Try Catch Exception
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-26 08:24:01 By : webmaster
 

 
#ก็อปคลาสนี้ไปใส่ในคลาสของโปรเจคเรา
public static class TimedExecution<T> {
public static void Execute(Action action, TimeSpan timeout, Action onTimeout) {
Task task = Task.Run(action);
if (task.Wait(timeout)) {
// everything OK
} else {
onTimeout();
}
}

public static T Execute(Func<T> function, TimeSpan timeout, Func<T> onTimeout) {
Task<T> task = Task.Run(function);
if (task.Wait(timeout)) {
// the function returned in time
return task.Result;
} else {
// the function takes longer than the timeout
return onTimeout();
}
}
}

#สร้างฟังก์ชั่น DoSomething() ขึ้นมาในคลาสของโปรเจคเรา โดยใส่โค้ดที่จะใส่ timeout ไว้ในฟังก์ชั่นนี้
private bool DoSomething() {
// in the real world, the function should actually do something useful...
return true;
}

#ประกาศพารามิเตอร์ theFunction, timeout และ onTimeout ก็อปไปวางได้เลย โดย timeout ที่จะกำหนดก็คือ .FromSeconds(10);
Func<bool> theFunction = DoSomething;
TimeSpan timeout = TimeSpan.FromSeconds(10);
Func<bool> onTimeout = () => {
return false;
};

#วิธีเรียกใช้ฟังก์ชั่น แบบมี timeout
bool success = TimedExecution<bool>.Execute(theFunction, timeout, onTimeout);
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-02-15 15:11:03 By : ปาย KMITL#17 ชุมพร
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ต้องการจะเขียนโปรแกรม C# ให้ตั้งเวลา timeout ของ function ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่