我在项目中有很多项目.我得到的错误信息是这样的:
正在构建的项目的处理器体系结构"MSIL"与参考"Interop.Domino,Version = 1.2.0.0,Culture = neutral,processorArchitecture = x86","x86"的处理器体系结构之间存在不匹配.这种不匹配可能会导致运行时故障.请考虑通过Configuration Manager更改项目的目标处理器体系结构,以便在项目和引用之间调整处理器体系结构,或者依赖于具有与项目的目标处理器体系结构相匹配的处理器体系结构的引用.
我发现这个链接提供了一些有趣的信息.
但是,当我打开配置管理器时,一切看起来都很好:

知道我能做些什么来摆脱这个编译器消息?
我有一个显示供应商产品的 API
我们的 UI 将允许用户选择各种过滤条件,并使用它一次删除大量产品。
问题是执行几千个单独的 HTTP 删除请求需要太长时间:
DELETE /api/supplier/6/products/5
DELETE /api/supplier/6/products/7
DELETE /api/supplier/6/products/8
DELETE /api/supplier/6/products/10
...
Run Code Online (Sandbox Code Playgroud)
目的是进行一次 HTTP 调用以一次删除一堆供应商产品。我可以将一个正文传递给删除,以便它包含我们要删除的所有 ID 的列表:
DELETE /api/supplier/6/products
Body:
{
"DeleteIds": "[5,7,8,10]"
}
Run Code Online (Sandbox Code Playgroud)
这很有效,直到我们把它放在我们的生产代理防火墙后面,它从 DELETE 请求中剥离了主体。
我看过 HTTP Spec RFC 2616 Fielding 等。并且它没有明确说明我不应该在 DELETE 请求中使用正文,进一步阅读表明发送带有 DELETE 请求的正文没有任何问题。
我可以控制我们的代理服务器,并且能够允许所有请求都通过正文,但我担心这可能不是最佳做法。我们可能有数千个要通过的 Id,我不希望我们使用标头或 URL 参数,因为我们可能会遇到长度限制。
所以我的问题是:使用请求正文 对多个产品进行删除的正确方法是什么?不仅仅是一个意见,而且是否有实际记录的证据来说明为什么我不应该使用 HTTP DELETE 的正文?
我应该继续
DELETE /api/supplier/6/products (Using a body)
Run Code Online (Sandbox Code Playgroud)
或者不应该将 DELETE 与正文一起使用,而是对类似的内容进行 POST
POST /api/supplier/6/products/deletemultiple
Run Code Online (Sandbox Code Playgroud)
编辑:在这个问题中有一些很好的辩论:删除一堆项目的宁静方式 它没有解决我关于使用 DELETE 请求的正文进行自定义删除操作的问题,但是有一些关于不同方式的很好的辩论可能会发生批量删除。