พยายามรวบรวมแนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้ข้อมูลเชิงลึกของแอปพลิเคชัน เริ่มต้นด้วยโครงการ ASP .NET MVC และ Web API และรวมถึงคำแนะนำต่าง ๆ ที่รวบรวมจากชุมชนและทีมข้อมูลเชิงลึกของแอปพลิเคชัน
การรวมข้อมูลเชิงลึกของแอปพลิเคชันในโครงการ. NET Web API เป็นงานที่ค่อนข้างง่ายและด้วย Visual Studio 2015 เป็นต้นไปมันเป็นเรื่องง่ายเหมือนการทำเครื่องหมายในช่องทำเครื่องหมายในเทมเพลตโครงการใหม่หรือผ่านเมนูแบบเลื่อนลงในแต่ละโครงการเว็บ นอกจากนี้คุณยังสามารถเพิ่มได้โดยการเพิ่มแพ็คเกจ Microsoft.ApplicationInsights.WEB NUGET พร้อมกับ 6 การพึ่งพาอื่น ๆ ข้อมูลเชิงลึกของแอปพลิเคชันจะช่วยให้คุณติดตามความคืบหน้าของคุณผ่านส่วนขยายข้อมูลเชิงลึกของแอปพลิเคชันซึ่งเป็นส่วนหนึ่งของ VS15 และ VS17 อย่างไรก็ตามอาจยังมีงานที่จำเป็นเพื่อเพิ่มประสบการณ์ AI ของคุณ
หนึ่งในคุณสมบัติที่สำคัญในข้อมูลเชิงลึกของแอปพลิเคชันคือการดู telemetry ทั้งหมดสำหรับการดำเนินการเดียวกันซึ่งหมายความว่าสำหรับการกระทำของเว็บ API แต่ละเหตุการณ์ที่กำหนดเองการพึ่งพาการยกเว้นการติดตามควรเชื่อมโยงกับคำขอ น่าเสียดายที่นี่ไม่ได้ผลสำหรับสถานการณ์ Async ไม่กี่อย่าง หลังจากการทดสอบนิดหน่อยฉันสังเกตเห็นความสัมพันธ์ล้มเหลวในสองสถานการณ์:
การเรียกการพึ่งพา ASYCHRONOUS ใด ๆ (httpClient, การโทร SQL ฯลฯ )
await ( new HttpClient ( ) ) . GetAsync ( "http://www.github.com" ) ;telemetry ใด ๆ ที่เข้าสู่ระบบเธรดพื้นหลัง (รวมถึงเหตุการณ์ที่กำหนดเองข้อยกเว้น ฯลฯ )
Task . Run ( async ( ) =>
{
telemetryClient . TrackEvent ( "SampleCustomEventOnBackgroundThread" ) ;
telemetryClient . TrackException ( new System . InvalidOperationException ( "Background Thread Exception" ) ) ;
} ) ;