什么是Request.AcceptTypes的ASP.Net Core模拟?

时间:2019-05-31 00:40:36

标签: c# asp.net asp.net-mvc asp.net-core

我可能都不是问正确的问题,因为我既不知道ASP.Net也不知道ASP.Net Core,但是我的任务是移植一些代码,而我在弄清楚如何适应时遇到了麻烦这种逻辑。我认为目标是检查客户端支持的MIME接受类型,然后将它们添加到当前请求的标头中。

1 个答案:

答案 0 :(得分:1)

您要将请求的ContentType设置为请求指定其接受的ContentType之一。

会是这样

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace SomeWebApplication.Controllers
{
    public class SomeController : Controller
    {
        public ActionResult SomeControllerMethod()
        {
            Response.ContentType = Request.AcceptTypes.FirstOrDefault() ?? "text/plain";
            return View();
        }
    }
}

FirstOrDefault()调用将返回Request.AcceptTypes中的第一项。如果Request.AcceptTypes是一个空数组,它将返回null,即字符串的默认值。如果为空,则??运算符返回“文本/纯文本”而不​​是null。