ওয়েব.এপআই-তে এই বৈশিষ্ট্যটি http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-apiMicrosoft.AspNet.WebApi.Cors
তে বিস্তারিত হিসাবে ব্যবহার করে যুক্ত করা যেতে পারে
এমভিসিতে আপনি এই কাজটি করতে একটি ফিল্টার বৈশিষ্ট্য তৈরি করতে পারেন:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method,
AllowMultiple = true, Inherited = true)]
public class EnableCorsAttribute : FilterAttribute, IActionFilter {
private const string IncomingOriginHeader = "Origin";
private const string OutgoingOriginHeader = "Access-Control-Allow-Origin";
private const string OutgoingMethodsHeader = "Access-Control-Allow-Methods";
private const string OutgoingAgeHeader = "Access-Control-Max-Age";
public void OnActionExecuted(ActionExecutedContext filterContext) {
}
public void OnActionExecuting(ActionExecutingContext filterContext)
{
var isLocal = filterContext.HttpContext.Request.IsLocal;
var originHeader =
filterContext.HttpContext.Request.Headers.Get(IncomingOriginHeader);
var response = filterContext.HttpContext.Response;
if (!String.IsNullOrWhiteSpace(originHeader) &&
(isLocal || IsAllowedOrigin(originHeader))) {
response.AddHeader(OutgoingOriginHeader, originHeader);
response.AddHeader(OutgoingMethodsHeader, "GET,POST,OPTIONS");
response.AddHeader(OutgoingAgeHeader, "3600");
}
}
protected bool IsAllowedOrigin(string origin) {
return true;
}
}
তারপরে হয় তা নির্দিষ্ট ক্রিয়া / নিয়ন্ত্রকদের জন্য এটি সক্ষম করুন:
[EnableCors]
public class SecurityController : Controller {
[EnableCors]
public ActionResult SignIn(Guid key, string email, string password) {
বা গ্লোবাল.এক্সএক্স.সি.এতে সমস্ত নিয়ন্ত্রকের জন্য এটি যুক্ত করুন
protected void Application_Start() {
GlobalFilters.Filters.Add(new EnableCorsAttribute());
RegisterGlobalFilters(GlobalFilters.Filters);
}