[英]ASP.NET Core Web API cannot return JSON formatted object after a call to `HttpContext.Response.WriteAsync()`?
[英]HttpContext.Response.WriteAsync("<h1>hello world</h1>") onGet handler method throw Exception in asp.net core 6 webapp
HttpContext.Response.WriteAsync(<h1>hello world</h1>") onGet handler method throws Exception in asp.net core 6 webapp
HttpContext.Response.WriteAsync("<h1>hello world</h1>")
Code Details
-------------
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace ResponserWrite.Pages
{
public class IndexModel : PageModel
{
private readonly ILogger<IndexModel> _logger;
public IndexModel(ILogger<IndexModel> logger)
{
_logger = logger;
}
public void OnGet()
{
HttpContext.Response.WriteAsync("<h1>hello world</h1>");
}
}
}
失敗:Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1] 執行請求時發生未處理的異常。 System.InvalidOperationException:標頭是只讀的,響應已經開始。
您似乎誤解了Razor 頁應用程序的工作原理。 實際響應是由框架使用您的 model ( Something.cshtml.cs
) 和“視圖”/“頁面”( Something.cshtml
) 生成的。 在 model 的相應方法中,您需要加載/管理所需的數據,並在頁面文件中通過修改 output html 來更改其表示。
如果您嘗試手動編寫響應,當框架也嘗試啟動響應時,會導致上述異常。
如果您想將一些 html 添加到索引頁面 - 只需打開Index.cshtml
並將其添加到某處。
閱讀更多:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.