Asp.net core ActionDescriptor.Id对于ActionExecutingContext中的请求和IActionFilter中的ActionExecutedContext是否唯一?
给出以下代码(使用.Net Core 2.0和Microsoft.AspNetCore.Mvc v2.0.2): 我的问题是,这些ID是“每个请求”的吗?还是“每次行动”?我在这里看过了--还不清楚 为便于澄清,根据Asp.net core ActionDescriptor.Id对于ActionExecutingContext中的请求和IActionFilter中的ActionExecutedContext是否唯一?,asp.net-core,asp.net-core-mvc,asp.net-core-2.0,Asp.net Core,Asp.net Core Mvc,Asp.net Core 2.0,给出以下代码(使用.Net Core 2.0和Microsoft.AspNetCore.Mvc v2.0.2): 我的问题是,这些ID是“每个请求”的吗?还是“每次行动”?我在这里看过了--还不清楚 为便于澄清,根据Startup.cs中的此代码使用过滤器: services.AddMvc(config => { config.Filters.Add(new RequestLoggingFilter()); }); 谢谢。答案是“每个动作”。我针对两个不同的请求测试了它,ID是相同
Startup.cs
中的此代码使用过滤器:
services.AddMvc(config =>
{
config.Filters.Add(new RequestLoggingFilter());
});
谢谢。答案是“每个动作”。我针对两个不同的请求测试了它,ID是相同的。答案是“每个操作”。我针对两个不同的请求对它进行了测试,ID是相同的。只是为了跟进,因为我有相同的问题,如果您查看GitHub上的源代码,每个操作都会有一个新值:
public class ActionDescriptor
{
public ActionDescriptor()
{
Id = Guid.NewGuid().ToString();
// ...
}
/// <summary>
/// Gets an id which uniquely identifies the action.
/// </summary>
public string Id { get; }
公共类ActionDescriptor
{
公共行动描述符()
{
Id=Guid.NewGuid().ToString();
// ...
}
///
///获取唯一标识操作的id。
///
公共字符串Id{get;}
我的测试表明,Id是在调用操作时生成的,并且该值在站点停止/启动或回收之前保持不变。然后该值将不同。因此,每个请求的Id将相同,并且不是唯一的
识别号:75c077ac-5402-444d-8a1b-73bdfc30f8ef
识别号:75c077ac-5402-444d-8a1b-73bdfc30f8ef
回收利用
Id:ef19524e-4fd3-4386-b15d-e5f3d65beb26
参考资料:由于我有同样的问题,所以我想跟进一下,如果您查看GitHub上的源代码,每个操作都是一个新值:
public class ActionDescriptor
{
public ActionDescriptor()
{
Id = Guid.NewGuid().ToString();
// ...
}
/// <summary>
/// Gets an id which uniquely identifies the action.
/// </summary>
public string Id { get; }
公共类ActionDescriptor
{
公共行动描述符()
{
Id=Guid.NewGuid().ToString();
// ...
}
///
///获取唯一标识操作的id。
///
公共字符串Id{get;}
我的测试表明,Id是在调用操作时生成的,并且该值在站点停止/启动或回收之前保持不变。然后该值将不同。因此,每个请求的Id将相同,并且不是唯一的
识别号:75c077ac-5402-444d-8a1b-73bdfc30f8ef
识别号:75c077ac-5402-444d-8a1b-73bdfc30f8ef
回收利用
Id:ef19524e-4fd3-4386-b15d-e5f3d65beb26
参考文献:
文档中说“获取一个唯一标识动作的ID”。从哪里你可以想到它会改变每个请求?不要粗鲁。考虑这是一个非正式的警告。文档说“获取一个唯一标识动作的ID”。你从哪里得到它会改变每一个请求的想法?不要粗鲁。考虑这是一个非正式警告。