【问题标题】:How to make Request.Content from .NET 4.8 to work in .Net Core? Or Request.Body from .Net Core to .NET 4.8?如何使 .NET 4.8 中的 Request.Content 在 .Net Core 中工作?还是从 .Net Core 到 .NET 4.8 的 Request.Body?
【发布时间】:2021-02-08 01:27:30
【问题描述】:

我有这段代码在 .NET 4.8 上本地运行以进行开发。一旦它被推送到 GitHub,它将使用 .net 核心构建。 (计划最终迁移到 .NET core,所以这样设置)。

本地 Request.Content 将在 .NET 4.8 中构建并且工作正常。但是如果我推它,它就会出错。如果我使用 .NET 核心中的 Request.Body,它不会在本地构建,而是在 repo 上构建。如果我这样做,所有 Devs 本地设置都会出现不可接受的错误。

所以我一直在寻找对两者都可互操作的代码(无需更改设置/环境)。基本上我正在寻找的是从 HTTP 请求中读取整个请求字符串。

希望有人能解释一下。

【问题讨论】:

  • 你在推动大会吗?如果是这样,我会说在本地运行 .NET Core。如果您要推送源代码,那么我会说使用条件编译。我想第三种选择是使用反射,看看哪个在运行时可用,然后使用那个。将它(使用缓存,因此您不必每次都进行反射)包装到扩展方法中。
  • 从技术上讲,开发人员仍在运行 .NET 4.8,我无法像提交代码一样运行 .NET Core,所有其他开发人员的代码都会出错。

标签: c# .net .net-core httprequest


【解决方案1】:

你应该添加:

using system.Net;

然后是一个网络客户端:

WebClient webClient = new WebClient();

然后你可以将网页作为字符串下载。

string download = webClient.DownloadString("https://google.com");

你可能可以从中提取身体。

如果您可以将数据作为网页获取,这将起作用,但如果它只是一个请求,那么它可能不会。另外我不知道这是否适用于您使用的任何 .NET 版本。 抱歉,如果此回复不是特别有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    • 1970-01-01
    • 2021-03-16
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多