Vài cấu hình tào lao cho Asp.net MVC và WebApi

By
Advertisement
Bài này viết một số cấu hình tào lao cho ASP.net MVC và WebApi các kiểu.

1.Enable-Cross-Origin-Request

Trong file webconfig : part 

<httpProtocol>
    <customHeaders>
      <add name="Access-Control-Allow-Origin" value="*" />
      <add name="Access-Control-Allow-Headers" value="Content-Type" />
      <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
    </customHeaders>
  </httpProtocol>

Cài gói Microsoft.AspNet.WebApi.Cors vào dự án.
thêm vào hàm register trong webapiconfig: trước cấu hình formatter.

var cors = new EnableCorsAttribute("http://localhost:18479", "*", "*");
config.EnableCors(cors);

Vào file WebApiApplication thêm vào:

protected void Application_BeginRequest()
{
            if (Request.Headers.AllKeys.Contains("Origin") && Request.HttpMethod == "OPTIONS")
            {
                Response.Flush();
            }
}

Done !!!

2. Cấu hình WebApi trả về dạng Json thay vì mặc định trả về XML.

File WebApiConfig hàm register thêm vào trước cấu hình authentication:

config.Formatters.Clear();
config.Formatters.Add(new JsonMediaTypeFormatter());

cấu hình có 1 câu:
- câu 1: xóa bỏ mặc định tức là không dùng thằng XML formatter nữa.
- câu 2. thêm Json thay vào chỗ trống.

3. Cấu hình dùng session trong WebAPI

Trong file global.asax

public override void Init()
{
    this.PostAuthenticateRequest += MvcApplication_PostAuthenticateRequest;
    base.Init();
}
void MvcApplication_PostAuthenticateRequest(object sender, EventArgs e)
{
    System.Web.HttpContext.Current.SetSessionStateBehavior(
        SessionStateBehavior.Required);
}
Trong ApiController khi truy xuất Session thông qua hàm
HttpContext.Current.Session
Bài viết sẽ được tiếp tục cập nhật khi có trick mới.
Thân! and To be Continue.

0 blogger:

Đăng nhận xét