小编s k*_*s k的帖子

WebAPI Selfhost:无法将多个参数绑定到请求的内容

下面的代码被简化以显示必要性.我可以知道出了什么问题吗?我似乎无法使用[FromBody]属性检索两个参数(在本例中为A和B).

错误消息是"无法将多个参数('A'和'B')绑定到请求的内容"

如果我只有A或B,那就完全没问题了.

Web API:

[Route("API/Test"), HttpPost]
public IHttpActionResult Test([FromBody] int A, [FromBody] int B)
Run Code Online (Sandbox Code Playgroud)

客户:

HttpClient client = new HttpClient();
var content = new FormUrlEncodedContent(
    new Dictionary<string, string> {
        { "A", "123" },
        { "B", "456" }
    });
client.PostAsync("http://localhost/API/Test", content).Result;
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api

33
推荐指数
2
解决办法
2万
查看次数

Dotnet Core 3.1、EF1001:内部 ef 核心 api 用法

从 2.2 升级到 Dotnet Core 3.1,EF 核心不断抱怨EF1001:通过在我的项目中放置感叹号来使用内部 ef 核心 api

但是在编译过程中没有显示错误/警告。我不知道哪一行代码导致了问题。

我可以知道如何找出我不应该使用的 API/方法吗?

entity-framework-core .net-core

11
推荐指数
2
解决办法
3203
查看次数

VS2019,NET Core 5.0 Razor Pages ~ 无法启动浏览器无法连接到调试目标

我有两个几乎相同的 .NET Core 5.0 Razor 页面模型项目,位于同一个解决方案中。已经快4个月没有跑步了。

现在当我想做出一些改变时。其中一个项目无法在调试模式下运行。我总是收到以下错误

使用调试启动时出错

{“标签”:“dap.receive”,“时间戳”:1625537078095,“元数据”:{“connectionId”:0,“消息”:{“类型”:“请求”,“命令”:“启动”,”参数":{"WebRoot":"xxxx\ApmtWeb\wwwroot","rootPath":"xxxx\ApmtWeb\wwwroot","__workspaceFolder":"xxxx\ApmtWeb\wwwroot","runtimeExecutable":"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe","runtimeArgs":[],"sourceMaps":true,"url":"http://localhost:5031/","trace":{"logFile “:”yyyy \ Temp \ Visualstudio-js-debugger.txt“},“端口”:54798,“launchUnelevated”:假,“projectGuid”:“cca052fc-e9e7-44d5-8299-28928d665223”,“userDataDir”:“ yyyy\Microsoft\VisualStudio\16.0_e9805624\WebTools\F17440DA_BBDA0153","breakOnLoad":true,"smartStep":true,"skipFiles":[],"showAsyncStacks":true,"超时":10000,"cleanUp":" onlyTab","name":"Visual Studio 启动配置覆盖","type":"pwa-msedge","re​​quest":"launch","continueOnDisconnect":true},"seq":2}},"level “:0}

由于隐私原因,xxxx 和 yyyy 被遮挡

我的启动设置

“ApmtWeb”:{“commandName”:“项目”,“dotnetRunMessages”:“true”,“launchBrowser”:true,“applicationUrl”:“http://localhost:5031”,“environmentVariables”:{“ASPNETCORE_ENVIRONMENT”: “发展” } }

如果我在出现上述错误并强制关闭之前手动输入 URL http://localhost:5031 ,我就可以看到我的网页。

我的整个解决方案中没有这样的设置http://localhost:54798 ,即使我进行全局搜索,我也找不到任何对54798 的引用。

visual-studio razor-pages

10
推荐指数
3
解决办法
1万
查看次数

如何动态添加降序到orderby?

我可以使用orderby语句动态构建Linq Query,如下所示:

var Query = from q in Db.TblUsers select q;

switch (Order)
{
    case "Name": Query = from q in Query orderby q.Name select q; break;
    case "DOB": Query = from q in Query orderby q.DOB select q; break;
    // ... and more cases
}

var Result = Query.ToList();
Run Code Online (Sandbox Code Playgroud)

但是,如果需要按顺序降序(取决于UI中的用户选择),我将不得不构造另一个switch语句复制所有情况,只是为了在orderby之后添加"descending"关键字.

例:

if (ascending)
{
    switch (Order)
    {
        case "Name": Query = from q in Query orderby q.Name select q; break;
        // ....
    }
}
else
{
    switch (Order)
    { …
Run Code Online (Sandbox Code Playgroud)

c# linq

6
推荐指数
1
解决办法
563
查看次数

Android 虚拟设备重置相机位置

我的 AVD 中的相机已旋转到不知道在哪里,并且我很难将其旋转回 i5 上的原始位置(没有 GPU,速度为 0.1 fps)。

有没有办法重置相机视图?

或者最好,只需将相机更改为静态壁纸即可。因为我只需要测试一些二维码扫描仪。

android-virtual-device

5
推荐指数
2
解决办法
1422
查看次数

CSharp 枚举通过可为空的枚举

一段代码值一千字……

public enum enTest { a, b, c }

public void PrintEnum<T>()
{
    foreach (var E in Enum.GetValues(typeof(T)))
    Debug.WriteLine(E.ToString());
}

PrintEnum<enTest>();
PrintEnum<enTest?>();    // This will cause failure in Enum.GetValues()
Run Code Online (Sandbox Code Playgroud)

上面从一个更大的问题简化来说明失败。

有谁知道当有人传递给我一个 Nullable Enum 时,我如何遍历(或获取所有值)?

提前致谢。

c# enums

4
推荐指数
1
解决办法
929
查看次数

如何将"System.Dynamic"添加到我的项目中?

我是C#4的新手,特别是dynamic关键字.我已经看过很多教程,并希望自己尝试使用VS 2012 Ultimate(MSDN).

不幸的是,我似乎找不到System.Dynamic也无法添加对它的引用.我可以知道在哪里可以找到DLL System.Dynamic以及我可能做错了什么吗?

默认情况下,VS 2012已经定位到Fx 4.5,并System.Core作为参考添加.

dynamic关键字非常常见,因此在Google中进行搜索会产生大量不相关的结果.

c# dynamic-language-runtime c#-4.0

3
推荐指数
1
解决办法
8293
查看次数

WebAPI [FromBody]始终为null

我收到了这样的请求.

POST /API/Event?EventID=15&UserID=1&Severity=5&DeptID=1&FlowTag=CE HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: localhost:8088
Content-Length: 9
Expect: 100-continue
Connection: Keep-Alive


HTTP/1.1 100 Continue


Desc=test
Run Code Online (Sandbox Code Playgroud)

我的WebAPI界面是这样的:

[Route("API/Event"), HttpPost]
public IHttpActionResult StationCreateWorkItem(long EventID, long UserID, int Severity,
    long DeptID, string FlowTag, [FromBody] string Desc)
Run Code Online (Sandbox Code Playgroud)

但是,我的Desc参数始终为NULL.如果我无法在WebAPI(OWIN)中使用[FromBody],我可以知道如何检索正文内容

抱歉,我无法更改收到的消息,因为它是由另一家公司开发的.

c# asp.net-web-api owin

3
推荐指数
2
解决办法
1万
查看次数

EF Core 数据库首先使用 HasNoKey

我有一个 20 年前在我公司创建的数据库表,它仅用于日记,没有 PRIMARY KEY 或 INDEX。我不能改变那张桌子。

我知道我们需要在代码优先的方法中调用HasNoKey()

但是在这种情况下我如何应用 HasNoKey 呢?因为它是数据库优先的方法。

sql-server entity-framework-core .net-core

3
推荐指数
1
解决办法
2万
查看次数

Razor Page 无法正确解析 &lt;

使用 VS2019 版本 16.6.5 Razor 页面模型。核心3.1

@{
    if (Model.Mode != enAccessMode.Read)
    {
        <text>
        $("#mTable tbody tr div").removeClass("TrError").
            find("[data-title]").removeAttr("data-title");
        var errs = JSAns.CollectData();
        if (errs !== null) {
            for (var i = 0; i < errs.length; i++) { // Razor doesn't likes the < here!!!!!
                var err = errs[i];
                var e = $("#mQ_" + err.ErrQID);
                e.addClass("TrError");
                e.attr("data-title", err.ErrMsg);
            }
            $("#mQ_" + errs[0].ErrQID)[0].scrollIntoView();
            return;
        }
        </text>
    }
}
Run Code Online (Sandbox Code Playgroud)

编译器不喜欢第 9 行的 < 符号。它在编译期间给出以下错误。使用 < 根本没有帮助,因为它是 JavaScript 代码,而不是文本字符串。

在解析“”标记之前已到达文件结尾或意外字符。标记块内的元素必须完整。它们必须是自闭合的(“<br />”)或具有匹配的结束标记(“<p>Hello</p>”)。如果要显示“<”字符,请使用“<” HTML 实体。

asp.net-core razor-pages

2
推荐指数
1
解决办法
802
查看次数

VSCode flutter如何启动Android模拟器而不是Chrome

我所有的旧项目都能够使用 Android 模拟器启动调试。当我按 F5 时,它会显示已安装的 Android 模拟器的列表,供我选择进行调试。

但今天,我创建了一个新项目,并在 Chrome 中启动调试。

visual-studio-code flutter

2
推荐指数
1
解决办法
5341
查看次数

在 C++ 代码中删除在 C# 中分配的内存

我有 C#(核心)和 C++(非托管 DLL)之间的代码互操作。

在 C# using 中分配的内存Marshal.AllocHGlobal()需要在 C# using中释放Marshal.FreeHGlobal()

在 C++ using 中分配的内存new需要在 C++ using中释放delete

由于 GC 不再跟踪这些内存处理程序,我可以随时deleteFreeHGlobal()随心所欲吗?

c# c++ interop memory-management

0
推荐指数
1
解决办法
414
查看次数

为什么我不能在颤振中使用可空类型

我在 2019 年 1 月创建了一个 Flutter 项目。我在 Dart 中阅读了一篇文章,并说它支持可空类型。

class c {
  int? id;
}
Run Code Online (Sandbox Code Playgroud)

但我无法编译上述内容。它给出了一些错误消息,但与可空类型无关。似乎它不理解“?” 根本。

错误: 在此处输入图片说明

我可以知道我的代码中可能缺少什么吗?我需要升级我的 Dart 或 Flutter 吗?我查看了 pubspec.yaml,但找不到任何对 dart 的引用。

nullable dart flutter

0
推荐指数
1
解决办法
172
查看次数