You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C# Azure Function中设置响应ContentType以渲染HTML?

在C# Azure Function中设置HTML响应的ContentType头

不需要额外安装NuGet包,根据你的Azure Function托管模型(进程内/隔离),用原生API就能实现:

进程内托管模型(.NET Framework/.NET Core 3.1/.NET 5+)

有两种简单方式:

方式1:返回ContentResult

直接创建ContentResult实例并指定ContentType:

using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;

public static class HtmlResponseFunction
{
    [FunctionName("GetHtmlPage")]
    public static IActionResult Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req)
    {
        var htmlContent = @"
        <html>
            <head>
                <title>Azure Function HTML Page</title>
            </head>
            <body>
                <h1>这是来自Azure Function的HTML内容</h1>
                <p>现在浏览器会正确渲染HTML了</p>
            </body>
        </html>";

        return new ContentResult
        {
            Content = htmlContent,
            ContentType = "text/html",
            StatusCode = 200
        };
    }
}

方式2:直接操作HttpResponse

通过注入的HttpResponse对象设置ContentType并写入内容:

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using System.Threading.Tasks;

public static class HtmlResponseFunction
{
    [FunctionName("GetHtmlPage")]
    public static async Task Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req,
        HttpResponse res)
    {
        res.ContentType = "text/html";
        var htmlContent = @"<html><body><h1>Hello from Azure Function!</h1></body></html>";
        await res.WriteAsync(htmlContent);
    }
}

隔离托管模型(.NET 6+ Isolated Worker)

使用HttpResponseData对象设置响应头:

using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Http;
using System.Net;

public class HtmlResponseFunction
{
    [Function("GetHtmlPage")]
    public HttpResponseData Run([HttpTrigger(AuthorizationLevel.Anonymous, "get")] HttpRequestData req)
    {
        var response = req.CreateResponse(HttpStatusCode.OK);
        response.Headers.Add("Content-Type", "text/html; charset=utf-8");

        var htmlContent = @"
        <html>
            <head>
                <title>Isolated Function HTML Page</title>
            </head>
            <body>
                <h1>隔离模型下的HTML响应</h1>
            </body>
        </html>";

        response.WriteString(htmlContent);
        return response;
    }
}

以上所有方案都依赖Azure Function SDK自带的类型,无需额外安装NuGet包,设置Content-Type为text/html后,浏览器就会正确渲染HTML内容而非纯文本。

内容的提问来源于stack exchange,提问作者blackboxlogic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 22:30:28