0

我正在编写一个 Azure webJob,它在部署之前最终是一个控制台应用程序。我正在尝试向其中添加 Application Insights,以便获得遥测结果。但是,由于这不是任何类型的 Web 应用程序,因此遥测不是该项目的公认部分。

当我尝试手动添加遥测并设置 TelemetryConfiguration.Active 框架的任何详细信息时,我会遇到以下错误:

TelemetryConfiguration.Active.InstrumentationKey = settingsKey;

Exception:
'Microsoft.WindowsAzure.Storage.StorageException' in Microsoft.WindowsAzure.Storage.dll
Additional information: The remote server returned an error: (404) Not Found.

但是,如果我在解决方案中运行 ODATA mvc 应用程序,所有遥测都可以“开箱即用”正常工作。

如何通过 SDK 设置 Insights 的任何方向都将非常有用,因为我正在努力寻找非 Web 应用程序示例的良好文档。

其自身的主机代码基于 Web 作业的标准示例:

JobHost host = new JobHost();
host.Start();
var task = host.CallAsync(typeof(Functions).GetMethod("MessageHandlingLoop")); 
task.Wait();
host.Stop();

然后在 MessageHandlingLoop() 中的遥测代码

提前致谢!

4

1 回答 1

0

您提到的堆栈跟踪不是来自 ApplicationInsights。SDK 不使用 WindowsAzure.Storage。

就例子而言。这是文档:https ://azure.microsoft.com/en-gb/documentation/articles/app-insights-windows-desktop/

您还可以查看如何检测辅助角色(它比 Web 示例更接近控制台):https ://github.com/Microsoft/ApplicationInsights-Home/tree/master/Samples/AzureEmailService

于 2016-06-21T22:54:46.280 回答