小编Lin*_*oxy的帖子

如何使用依赖项注入正确设置 Azure Functions 日志记录、实时指标和应用程序洞察

大约一个月前,我注意到旧 Azure Functions 门户界面中的某些监控功能停止工作。我在Azure Functions Host GitHub上写了有关这些问题的更多详细信息,但我的特定问题尚未得到解答。

现在,Azure Functions 门户界面似乎默认为新的“管理体验”,它看起来与 Azure 的其余部分更相似,因此,更明显的是我们使用日志记录和跟踪的方式存在问题。

我的问题是:是否有人有任何关于如何设置 Azure 函数日志记录、实时指标和应用洞察跟踪的代码示例,以便:

  1. 适用于依赖注入
  2. 与新的“管理体验”界面配合使用

目前,为了查看特定 Azure 函数在做什么,我必须转到旧的 Azure 界面并研究日志流。函数确实可以工作,它们会在日志流中吐出信息,但仅在旧界面中,并且在监控方面似乎没有太多其他功能。使用旧界面:

  • 调用日志,即您按下“函数(只读)> [函数] > 监视器下的“监视器”链接时获得的那个,即使根据日志确实调用了这些函数,也根本没有显示任何调用。
  • 实时应用指标链接会导致默认“不可用:您的应用离线或使用旧版 SDK”以及一些动画演示图表。

这些在一个月前工作得很好。现在,没有那么多。

使用新界面:

  • 监控 > 日志流除了“已连接!”这个词外什么都不显示,无论详细程度如何。
  • 监控 > 日志流 > 在实时指标中再次打开只会产生默认的“不可用:您的应用离线或使用旧版 SDK”。

使用功能 > 功能 > [单击功能] 转到新界面中的特定功能:

  • Developer > Code + Test > Test-button > Run,弹出Logs窗口,只说“Connected!” 没有别的,再次不管冗长。
  • Monitor > Invocations,这里没有注册任何调用痕迹,尽管该函数显然是根据旧的接口日志流调用的。
  • 监视器> 日志,再次,只是说“已连接!”,不管冗长。

我不明白为什么一个月前它突然停止工作,为什么这么多东西似乎不适用于新界面。我们的 Functions 的 NuGet 包都是最新的。

在日志方面,记录器是依赖注入的,因此我们可以在多个类中使用它,而不仅仅是在默认的 Functions.cs 类中:

using Microsoft.Extensions.Logging;

public class EventForwarder
{
    private readonly ILogger<EventForwarder> …
Run Code Online (Sandbox Code Playgroud)

c# azure azure-application-insights azure-functions

13
推荐指数
1
解决办法
5161
查看次数

IIS7.5上的ASP.NET MVC 3 Intranet站点Windows身份验证在尝试登录时为请求提供401.3和文件授权失败

我已经创建了一个启用了Windows身份验证的ASP.NET MVC 3 Intranet站点:

  1. 在Visual Studio项目文件属性中
  2. 在web.config中,即 <authentication mode="Windows"/>
  3. 在IIS 7.5中的站点属性上.服务器

web.config说,上面所有这三个都禁用了匿名访问<deny users="?"/>.通过标识<impersonate="false"/>和IIS 7.5服务器中的站点属性在web.config中禁用模拟.最后,NETWORK SERVICE设置为运行应用程序池,并且还具有Read on the site文件夹(不确定是否需要它,你告诉我,但它确实不足以解决我的问题).

现在,通过标准Windows身份验证对话框登录时,域用户在三次有效登录尝试后会出现401.3错误.这似乎甚至在达到我的MVC网站的代码之前,即它似乎完全与IIS相关.对于尝试登录的所有用户,事件日志提供以下类型的条目(它是一个信息条目,而不是错误,我对它进行了一些模糊处理以保护我的客户端):

Event code: 4008
Event message: File authorization failed for the request.
Event time: 2012-02-20 18:45:41
Event time (UTC): 2012-02-20 17:45:41
Event ID: 6dd3b4bf99784ba1a0fe06694dd89691
Event sequence: 3
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/2/ROOT-1-129742335229554599
Trust level: Full
Application Virtual Path: /
Application Path: D:\Public\BlahblahManager\
Machine name: HUB01-XYZ123
Process information:
Process ID: 2920
Process …
Run Code Online (Sandbox Code Playgroud)

acl windows-authentication iis-7.5 http-status-code-401 asp.net-mvc-3

9
推荐指数
1
解决办法
5573
查看次数