asp.net - 網站範例 - web form開發




從Visual Studio 2013的應用程序中刪除Application Insight (4)

如果您為解決方案使用NuGet包管理器(工具 - > NuGet包管理器 - >管理解決方案的NuGet包),您可以搜索ApplicationInsights並卸載該包,並且可以選擇刪除依賴項。 可能有幾個。 這是清除所有依賴關係的最簡單方法,而不僅僅是一些。

在Visual Studio中,我將應用程序洞察添加到創建ApplicationInsights.config的項目中,並且不確定將什麼其他文件添加到項目中。

事情是,做正確的點擊並按Add Application Insight非常簡單。 現在我正在尋找沒有成功的方法來刪除該項目的應用程序洞察。

我怎樣才能做到這一點?

在生產服務器上,使用DebugView,即使關閉了服務器上的Application Monitor Services,我也能看到遙測日誌。

任何幫助表示讚賞,我想完全擺脫該應用程序的應用程序洞察力。


我只是想添加已經給出的答案,剛剛通過ASP.NET MVC 5項目完成了這個過程。

卸載使用NuGet

正如其他答案所說,刪除應用程序見解的最佳方法是通過Nuget:工具 - > NuGet程序包管理器 - >管理解決方案的NuGet程序包。

我發現最好首先刪除Microsoft.ApplicationInsights.Web及其所有依賴項,然後再刪除Microsoft.ApplicationInsights.Javascript API

這除去了一切:

  • ApplicationInsights.config文件,
  • _Layout.cshtml中的腳本片段,

這兩個我手動刪除。

微軟必須說的

這裡的Microsoft Azure文檔: https://azure.microsoft.com/en-gb/documentation/articles/app-insights-troubleshoot-faq/https://azure.microsoft.com/en-gb/documentation/articles/app-insights-troubleshoot-faq/ ,說:

Application Insights在我的項目中修改了什麼?

細節取決於項目的類型。 對於Web應用程序:

將這些文件添加到您的項目中:

  • ApplicationInsights.config。
  • ai.js

安裝這些NuGet軟件包:

  • Application Insights API - 核心API
  • 面向Web應用程序的Application Insights API - 用於從服務器發送遙測
  • 應用程序Insights API for JavaScript應用程序 - 用於從客戶端發送遙測

這些軟件包包含以下組件:

  • Microsoft.ApplicationInsights
  • Microsoft.ApplicationInsights.Platform

將項目插入到:

  • Web.config文件
  • packages.config(僅限新項目 - 如果您將Application Insights添加到現有項目中,則必須手動執行此操作。)將代碼片段插入客戶端和服務器代碼,以使用Application Insights資源ID對它們進行初始化。 例如,在MVC應用程序中,代碼被插入到母版頁Views / Shared / _Layout.cshtml中

手動刪除

要在沒有NuGet的情況下移除應用程序見解,或者如果像我這樣不信任它並想知道哪些文件被移除,我遵循以下步驟:

  • 從web.config中刪除應用程序洞察,在system.webserver.modules下搜索ApplicationInsightsWebTracking。

  • 從項目引用中刪除所有Microsoft.AI(Application Insights)前綴引用。

  • 從package.config中刪除所有Microsoft.ApplicationInsights包。

  • 刪除ApplicationInsights.config文件。

  • 從_Layout.cshtml中刪除腳本:

    
    
    var appInsights=window.appInsights||function(config){
        function r(config){t[config]=function(){var i=arguments;t.queue.push(function(){t[config].apply(t,i)})}}var t={config:config},u=document,e=window,o="script",s=u.createElement(o),i,f;for(s.src=config.url||"//az416426.vo.msecnd.net/scripts/a/ai.0.js",u.getElementsByTagName(o)[0].parentNode.appendChild(s),t.cookie=u.cookie,t.queue=[],i=["Event","Exception","Metric","PageView","Trace"];i.length;)r("track"+i.pop());return r("setAuthenticatedUserContext"),r("clearAuthenticatedUserContext"),config.disableExceptionTracking||(i="onerror",r("_"+i),f=e[i],e[i]=function(config,r,u,e,o){var s=f&&f(config,r,u,e,o);return s!==!0&&t["_"+i](config,r,u,e,o),s}),t
    }({
        instrumentationKey:"RemovedKey"
    });
    
    window.appInsights=appInsights;
    appInsights.trackPageView();
    
    
    
  • 從Scripts目錄中刪除ai.0.15.0-build58334.js&ai.0.15.0-build58334.min.js。

  • 清潔和重建所有。


我解決了這個問題,首先從(Tools - > NuGet Package Manager - > Manage NuGet Packages for Solution)卸載所有Application Insight軟件包,

然後跑了

卸載程序包Microsoft.AspNet.TelemetryCorrelation -Version 1.0.0 -RemoveDependencies

在Nuget控制台中。

這為我修好了。


通過一個新的ASP.Net Core 1.1項目:

  • 刪除Microsoft.ApplicationInsights.AspNetCore nuget包
  • 從_Layout.cshtml頁面中刪除inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet
  • @Html.Raw(JavaScriptSnippet.FullScript)刪除@Html.Raw(JavaScriptSnippet.FullScript)
  • 從program.cs中刪除.UseApplicationInsights()




azure-application-insights