Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core ActionDescriptor.Id对于ActionExecutingContext中的请求和IActionFilter中的ActionExecutedContext是否唯一?_Asp.net Core_Asp.net Core Mvc_Asp.net Core 2.0 - Fatal编程技术网

Asp.net core ActionDescriptor.Id对于ActionExecutingContext中的请求和IActionFilter中的ActionExecutedContext是否唯一?

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是相同

给出以下代码(使用.Net Core 2.0和Microsoft.AspNetCore.Mvc v2.0.2):

我的问题是,这些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”。你从哪里得到它会改变每一个请求的想法?不要粗鲁。考虑这是一个非正式警告。