Tôi tự hỏi cách hiểu biết về ứng dụng hoạt động với cookie vì tôi ... Điện thoạiQuản lý thông tin chi tiết về ứng dụng Cookie
Đây là bài giới thiệu ngắn gọn về lý thuyết:
-
Bất cứ khi nào ứng dụng Insights SDK nhận được một yêu cầu mà không có những hiểu biết ứng dụng người dùng Cookie theo dõi (do đoạn ứng dụng Insights JS) nó sẽ thiết lập cookie này và bắt đầu một phiên làm việc mới. (từ apmtips)
2.
UserTelemetryInitializer cập nhật Id và AcquisitionDate thuộc tính của tài bối cảnh cho tất cả các mục từ xa với giá trị chiết xuất từ ai_user cookie được tạo bởi Appli cation Insights Mã thiết bị JavaScript chạy trong trình duyệt của người dùng.
SessionTelemetryInitializer cập nhật Id tài sản của phiên bối cảnh cho tất cả các mục từ xa với giá trị chiết xuất từ ai_session Cookie được tạo ra bởi mã thiết bị đo đạc ApplicationInsights JavaScript chạy trong trình duyệt của người dùng. (từ azure documentation (Configuring the Application Insights SKD with ApplicationInsights.config))
Vì vậy, có hai cookie: ai_session và ai_user.
Và ở đây có câu hỏi của tôi:
- Khi được họ khởi tạo?
- Điều gì đang thực hiện?
- Tôi có thể ngừng sử dụng chúng bằng cách nào?
- Nếu tôi muốn giữ chúng, làm cách nào để thay đổi thời gian hết hạn?
Cố gắng loại bỏ chúng Tôi đã tạo dự án bằng Ứng dụng web ASP.NET sử dụng mẫu mặc định cho Web Api, bao gồm MVC và Web Api.
Thực hiện nghiên cứu tôi tìm thấy this approach để tắt chúng nhưng tôi không có bất kỳ WebSessionTrackingTelemetryModule nào. Vì vậy, tôi nhận xét ra "UserTelemetryInitializer" và "SessionTelemetryInitializer" và đây là những gì tôi có:
<TelemetryInitializers>
<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.SyntheticTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />
<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.ClientIpHeaderTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />
<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.UserAgentTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />
<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.OperationNameTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />
<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.OperationIdTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />
<!--<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.UserTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />-->
<!--<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.SessionTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />-->
<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.AzureRoleEnvironmentTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />
<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.DomainNameRoleInstanceTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />
<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.BuildInfoConfigComponentVersionTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />
<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.DeviceTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />
</TelemetryInitializers>
Và:
<TelemetryModules>
<Add Type="Microsoft.ApplicationInsights.Extensibility.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.ApplicationInsights.Extensibility.DependencyCollector" />
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector"/>
<Add Type="Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule, Microsoft.ApplicationInsights" />
<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.RequestTrackingTelemetryModule, Microsoft.ApplicationInsights.Extensibility.Web"/>
<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.ExceptionTrackingTelemetryModule, Microsoft.ApplicationInsights.Extensibility.Web" />
<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.DeveloperModeWithDebuggerAttachedTelemetryModule, Microsoft.ApplicationInsights.Extensibility.Web" />
</TelemetryModules>
Nhưng nó không tạo sự khác biệt. Hoặc tôi để lại các mô-đun nhận xét hay không, các cookie vẫn đang được tạo ra.
Cố gắng xóa cookie, tôi đã nhận xét các bước đã thực hiện trong Khởi động và loại trừ khỏi dự án của tôi tất cả các tệp .js, nhưng cookie vẫn xuất hiện sau mỗi yêu cầu.
Vì vậy, tại thời điểm này, tôi không hiểu vị trí "Ứng dụng hiểu biết Javascript" diễn ra và tôi đoán rằng những gì tôi thiếu là một cái gì đó trong phần cuối. Liệu tôi có sai?
Cuối cùng, Startup.cs nhận xét của tôi trông giống như:
[assembly: OwinStartupAttribute(typeof(Try001.Startup))]
namespace Try001
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
//ConfigureAuth(app);
}
}
}
Và Global.asax.cs của tôi trông giống như:
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
//AreaRegistration.RegisterAllAreas();
//FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
//BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
đâu RegisterRoutes chỉ đang làm việc định tuyến mặc định. Vì vậy, tôi nhắm đến việc chỉ làm những việc rất cơ bản để làm cho nó hoạt động, nhưng tôi không có một đầu mối về nơi để tiếp tục đào bới.
Ai đó có thể khai sáng cho tôi?
Cảm ơn bạn đã đọc cho đến nay.
"những hiểu biết ứng dụng javascript" là nghĩa đen một đoạn javascript đó là một trong các mẫu html/cshtml/các tệp chính, tùy thuộc vào loại dự án bạn có. bạn đã thêm ai theo cách thủ công, hoặc bạn đã sử dụng lệnh "thêm thông tin chi tiết về ứng dụng từ xa ..." từ VS vào một dự án mới? –
Đó là nó, nó không phải là phụ trợ như tôi đã đoán nhưng đoạn mã JS trong _Layout.cshtml.Cảm ơn bạn rất nhiều vì đã chỉ cho tôi đúng hướng! – Pliyo
dường như tôi nên có thêm rằng như là một câu trả lời để alexb đã không ăn cắp điểm internet của tôi! : P –