C# ASP.NET核心项目中的评估错误

C# ASP.NET核心项目中的评估错误,c#,multithreading,asp.net-core,C#,Multithreading,Asp.net Core,我是ASP.NET新手,在.NET Core 2.0中使用VS2017 这是ASP.NET-Core->未经授权的空项目。 我有以下问题:函数求值需要运行所有线程,当在debugg mod的Watch1中单击“立即求值”按钮时,VS响应求值超时 这是我的C代码,但现在所有 app.MapWhen(req => req.Request.Path.Value == "/cat/add", catAdd => {

我是ASP.NET新手,在.NET Core 2.0中使用VS2017 这是ASP.NET-Core->未经授权的空项目。 我有以下问题:函数求值需要运行所有线程,当在debugg mod的Watch1中单击“立即求值”按钮时,VS响应求值超时

这是我的C代码,但现在所有

app.MapWhen(req => req.Request.Path.Value == "/cat/add",
                catAdd =>
                {                   
                    catAdd.Run( async (context) =>
                    {
                        if (context.Request.Method == HttpMethod.Get)
                        {
                            context.Response.Redirect("/cats-add-form.html");
                        }
                        else if (context.Request.Method == HttpMethod.Post)
                        {
                             var db = context.RequestServices.GetRequiredService<CatsDbContext>();

                             var formData = context.Request.Form;

                             var cat = new Cat
                             {
                                 Name = formData["Name"],
                                 Age = int.Parse(formData["Age"]),
                                 Breed = formData["Breed"],
                                 ImageUrl = formData["ImageUrl"]

                             };

                            db.Add(cat);

                            try
                            {
                                await db.SaveChangesAsync();

                                context.Response.Redirect("/");
                            }
                            catch
                            {
                                await context.Response.WriteAsync("<h2>Invalid cat data!</h2>");
                                await context.Response.WriteAsync(@"<href== ""/cat/add"">Back To The Form</a>");
                            }

                        }

                    });

                });
问题在于formData

这是HTML

<h1>Add Cat</h1>

<form method="post" action="/cat/add">
    <label for="Name">Name:</label>
    <input type="text" name="Name" id="Name" />
    <br />
    <label for="Age">Age:</label>
    <input type="number" name="Age" />
    <br />
    <label for="Bread">Bread:</label>
    <input type="text" name="Bread" />
    <br />
    <label for="ImageUrl">ImageUrl:</label>
    <input type="url" name="ImageUrl" />
    <br />
    <input type="submit" value="Add Cat" />
</form>

我认为问题在于:它没有采用我的表单数据

我今天在asp.net core 2项目中也看到了这个问题。我认为可能存在与VS2017调试器和asp.net core 2相关的错误

当我将断点放在包含Request.Form的那一行之外时,一切正常


请参阅本页

我今天在asp.net core 2项目中也看到了这个问题。我认为可能存在与VS2017调试器和asp.net core 2相关的错误

当我将断点放在包含Request.Form的那一行之外时,一切正常


请参阅本页

你到底在干什么?@JoePhillips添加了猫-猫销售网站,随着年龄和面包垫的增加,你不使用常规表单绑定有什么原因吗?我真的不太明白您试图在这里完成什么。直接在路由def中处理操作并不适用于处理表单提交这样的复杂场景。它只打算做一些简单的事情,比如直接返回视图、重定向、处理错误等。用实际操作方法创建一个实际的控制器。你到底在做什么?@JoePhillips添加猫-猫销售网站,使用Age和BreadFlad是否有理由不使用常规表单绑定?我真的不太明白您试图在这里完成什么。直接在路由def中处理操作并不适用于处理表单提交这样的复杂场景。它只用于执行简单的操作,如直接返回视图、重定向、处理错误等。使用实际操作方法创建实际控制器。在附加调试器之前,当我的解决方案设置为释放模式时,我遇到了同样的问题,这可能值得检查。我希望我可以使用此1000x,这也是VS 2019中的一个问题。当我的解决方案在附加调试器之前设置为释放模式时,我遇到了同样的问题,可能值得检查。我希望我能翻阅这1000倍,这也是VS 2019中的一个问题