2017-07-06 92 views
0

我正在使用應用程序洞察SDK來記錄異常。我在applicationisightconfig文件中設置排除/包含事件類型列表。applicationinsightConfig會導致應用程序回收

我的問題是,如果我更改applicationinsightconfig文件以在運行時更新排除列表事件列表,它是否會回收應用程序域。

回答

0

我的問題是,如果我更改applicationinsightconfig文件以在運行時更新排除列表事件列表,它是否會回收應用程序域。

根據我的測試,如果在applicationisightconfig文件中將applicationinsightconfig更改爲排除/包含事件類型列表。它不會影響你的Web應用程序。

Web應用程序仍然可以正常工作。

Telemetry​Configuration類將atuo獲取運行的參數(您在.config中設置)。


更新:根據我的測試

,我發現,如果你在applicationinsightconfig文件中更改設置,也不會是有效的,直到Web應用程序重新啓動。

根據這article,我創建了一個自定義的處理器來過濾遙測和註冊與SDK。所有的遙測都通過你的處理器,你可以選擇從流中刪除它,或者添加屬性。

的SuccessfulDependencyFilter的某些部分:

public class SuccessfulDependencyFilter : ITelemetryProcessor 
    { 

    private ITelemetryProcessor Next { get; set; } 

    // You can pass values from .config 
    public string MyParamFromConfigFile { get; set; } 

    // Example: replace with your own modifiers. 
    private void ModifyItem (ITelemetry item) 
    { 
     item.Context.Properties.Add("app-version", "1." + MyParamFromConfigFile); 
    } 

的applicationinsightconfig文件添加以下設置。

<TelemetryProcessors> 
     <Add Type="WebApplication9.SuccessfulDependencyFilter, WebApplication9"> 
     <!-- Set public property --> 
     <MyParamFromConfigFile>2-beta</MyParamFromConfigFile> 
     </Add> 
    </TelemetryProcessors> 

它會根據applicationinsightconfig文件添加一個自定義類型。

應用啓動後,我改變了如下設置:

enter image description here

但自定義屬性仍然是「1.2測試版」,沒有改變。

enter image description here

在我看來,該applicationinsightconfig將應用程序運行時加載。因此,如果您更改了applicationinsightconfig設置,它將在應用程序重新啓動後生效。

+0

你有任何文檔鏈接引用。 –

+0

我沒有找到任何明確說明它的文檔。 –

+0

這個結果是基於我的測試。我已經在Azure上運行了一個Web應用程序並更改了AI配置。應用程序仍然可以運行良好。 –

相關問題