I follow this page to enable cross domain request.
EnableCors on global scope always works.
var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
However, EnableCors on controller scope will fail the preflight request with request method 'OPTIONS'.
[EnableCors(origins: "*", headers: "*", methods: "*")]
To get it working I need to add a custom delegatehandler shown on this answer, which allows the 'OPTION' method.
I have googled it, but not much details about the difference. Can someone explain to me the difference?