Anda dapat menggunakan penanganan HTTP untuk memproses permintaan HTTP secara efisien. Saat memanggil suatu fungsi, Function Compute menjalankan penangan yang telah ditentukan untuk memproses permintaan HTTP. Topik ini menjelaskan struktur dan karakteristik penanganan HTTP dalam C#.
Tanda tangan untuk penanganan HTTP
public virtual async Task<HttpResponse> HandleRequest(HttpRequest request, HttpResponse response, IFcContext fcContext)
{
}Jika Anda menggunakan C# untuk menulis fungsi HTTP di Function Compute, Anda harus mengimpor paket Aliyun.Serverless.Core dan Aliyun.Serverless.Core.Http melalui NuGet. Contoh:
<ItemGroup>
<PackageReference Include="Aliyun.Serverless.Core" Version="1.0.1" />
<PackageReference Include="Aliyun.Serverless.Core.Http" Version="1.0.3" />
</ItemGroup>Contoh penanganan HTTP
Berikut adalah contoh kode sederhana untuk penanganan HTTP dalam C#:
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Aliyun.Serverless.Core;
using Aliyun.Serverless.Core.Http;
namespace Example
{
public class HttpHandler : FcHttpEntrypoint
{
public override async Task<HttpResponse> HandleRequest(HttpRequest request, HttpResponse response,
IFcContext fcContext)
{
response.StatusCode = 200;
response.ContentType = "text/plain";
await response.WriteAsync("hello world\n");
return response;
}
protected override void Init(IWebHostBuilder builder) { }
static void Main(string[] args) { }
}
}- HttpRequest request: menentukan kelas HttpRequest.
- HttpResponse response: menentukan kelas HttpResponse.
- IFcContext fcContext: menentukan objek konteks, termasuk informasi tentang fungsi dan permintaan.
Program sampel
Pustaka Function Compute mencakup program sampel yang menggunakan berbagai jenis dan antarmuka penanganan. Setiap program sampel menyertakan metode untuk kompilasi dan penerapan yang mudah. Program sampel:
dotnet3-blank-http: Panggilan balik HTTP.