2015-08-13 19 views
5

Tôi có hai dự án: một là ứng dụng MVC4 và một là thư viện lớp loại đầu ra.Thông tin chi tiết về ứng dụng

Tôi muốn thực hiện dự án thứ hai (thư viện lớp một) một lớp giao tiếp thông tin chi tiết.

Biên dịch mã và máy chủ chạy bình thường.

public static void SaveMetric(string title, double value, 
    string azureKey, Dictionary<string, string> properties = null) 
{ 
    try 
    { 
     TelemetryClient telemetry = new TelemetryClient(); 
     telemetry.InstrumentationKey = azureKey; 
     telemetry.TrackMetric(title, value, properties); 
    } 
    catch (Exception ex) 
    { 
     var a = ""; 
    } 
} 

Sự cố bắt đầu khi tôi gọi hàm telemetry.TrackMetric. Mã này trả về lỗi:

"Object reference not set to an instance of an object."(System.NullReferenceException).

Có thể sử dụng Microsoft Insights trong dự án thư viện lớp học không? Và nếu có, tôi đang làm gì sai?

+1

Có một số thông tin bổ sung cần thiết, nó nói những gì là null? Có phải 'title' hoặc' thuộc tính' không? Chắc chắn có vẻ như 'thuộc tính' có thể là thông số mặc định của nó. Điều gì là nó phàn nàn về cụ thể? Tôi biết nó được đánh dấu là mặc định trong phương pháp chỉ số, nhưng tôi không thể tìm ra nếu theo mặc định là null hoặc một bộ sưu tập trống. –

+0

Ron Reyer, thaks trước để cố gắng giải quyết vấn đề này. Xem bản chỉnh sửa của tôi để biết thêm thông tin và nếu bạn vẫn còn nghi ngờ, hãy hỏi lại. –

+0

@RicardoRocha - Nếu bạn giải quyết được vấn đề của mình, bạn nên đăng giải pháp của mình làm câu trả lời. Nếu điều này dẫn bạn đến một câu hỏi mới, bạn nên đặt câu hỏi mới của mình như một câu hỏi SO mới. –

Trả lời

0

Tìm hiểu sâu về các giải pháp của mình, tôi phát hiện ra rằng sự cố là bản cập nhật mà tôi đã thực hiện (phiên bản 1.0 đến 1.2). Giải pháp là hạ cấp phần mềm xuống v1.0.

+0

Tôi là người mới ở cộng đồng này. Tôi chỉ làm theo lời khuyên của bình luận này "Nếu bạn giải quyết vấn đề của mình, bạn nên đăng giải pháp của mình như một câu trả lời. Nếu điều này dẫn bạn đến một câu hỏi mới, bạn nên đặt câu hỏi mới của mình như một câu hỏi SO mới" bởi @Philip Pittle –

+2

Đây là một giải pháp (bạn nên tự chấp nhận một khi đã đủ thời gian để làm như vậy). – ryanyuyu

+1

Bất kỳ ý tưởng nào giải thích nó? Tôi đã có cùng một vấn đề với phiên bản 1.0.0 và cố gắng nâng cấp lên 1.2.0 để giải quyết vấn đề của tôi nhưng cho đến nay không có con xúc xắc. –

2

Gần đây tôi đã nâng cấp lên 1.2.0 và gặp sự cố tương tự. Ngoài việc thiết lập tiêu chuẩn, mã của tôi đã ghi đè khóa thiết bị trong ApplicationInsights.config với mã được lưu trữ trong web.config. Điều này đã được thực hiện qua global.asax - Application_Start. Các mã hoạt động tốt tại địa phương, nhưng bom ra khi triển khai Azure.

Hóa ra đó là vấn đề về cách tôi truy cập vào web.config. Tôi đã phải chuyển mã của mình từ việc sử dụng WebConfigurationManager thành ConfigurationManager.

này Application_Start mã:

Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active.InstrumentationKey = System.Web.Configuration.WebConfigurationManager.AppSettings["MyInstrumentationKey"]; 

thay đổi như sau:

Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active.InstrumentationKey = System.Configuration.ConfigurationManager.AppSettings["MyInstrumentationKey"]; 
Các vấn đề liên quan