<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      ASP.NET Web API 支持 CORS

      Cross-Origin Resource Sharing (CORS) 是W3C草案擬定的瀏覽器與服務(wù)端如何進行跨域請求的方式,其原理是用自定義HTTP頭來讓瀏覽器和SERVER決定request、response的成功或失敗。目前幾乎所有瀏覽器都已經(jīng)支持了(Internet Explorer 8+, Firefox 3.5+, Safari 4+, and Chrome)。

      使用一個GET或POST發(fā)送一個未自定義頭的請求時,會額外添加一個叫做Origin的頭,其包含了請求頁面的協(xié)議、域名和端口,后臺可以根據(jù)這些信息很輕松的判斷出是否要給出正確的response,就像下面這樣

      Origin: http://www.rzrgm.cn

      如果server允許這個請求,則會得到一個HEADER包含Access-Control-Allow-Origin的響應(yīng),而Access-Control-Allow-Origin的值則為剛剛Origin的值或*(公開資源),比如:

      Access-Control-Allow-Origin: http://www.rzrgm.cn

      如果沒有這個HEADER或者HEADER不匹配,瀏覽器則會拒絕這個請求,匹配上了就會成功,但不管是否成功,這個請求都不會帶有任何cookie信息。

      之前提到的所有瀏覽器都支持這種簡單的請求方式。Firefox 3.5+, Safari 4+和 Chrome使用XMLHttpRequest對象來實現(xiàn),這跟普通的請求是一樣的,但當(dāng)瀏覽器發(fā)現(xiàn)請求的是跨域的資源時,CORS模式會自動被觸發(fā),而不需要額外的代碼來處理.

      ASP.NET Web API 支持 CORS 支持的代碼參見 http://code.msdn.microsoft.com/Implementing-CORS-support-418970ee,也可以通過Nuget 獲取WebAPIContrib

      PM> Install-Package WebAPIContrib

      然后給你的Web API的Action 打上標簽[EnableCors],例如下面的代碼

      // NOTE: Maybe it is not a good idea to expose the 'model' in the service/API.
      // Consider using use-case-based DTOs (http://davybrion.com/blog/2012/02/dtos-should-transfer-data-not-entities).
      public class ContactsController : ApiController
      {       
           private readonly IContactRepository repository;

           public ContactsController(IContactRepository repository)
           {           
               this.repository = repository;
           }

           [EnableCors]
           public IQueryable<Contact> Get()
           {
               return repository.GetAll().AsQueryable();
           }

           [EnableCors]
           public HttpResponseMessage Get(int id, HttpRequestMessage request)
           {
               var contact = repository.Get(id);

               if (contact == null)
               {
                   var response = new HttpResponseMessage(HttpStatusCode.NotFound)
                   {
                       Content = new StringContent("Contact not found.")
                   };

                   throw new HttpResponseException(response);
               }

               var contactResponse = request.CreateResponse(HttpStatusCode.OK, contact);

               contactResponse.Content.Headers.Expires = new DateTimeOffset(DateTime.Now.AddSeconds(300));

               return contactResponse;
           }

      參考:

      http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/

      Using CORS to access ASP.NET services across domains

      Cross-Origin Resource Sharing (CORS) and WCF

      在asp.net web api中動態(tài)修改action的名字

      ASP.NET Web API: CORS支持和基于屬性的路由改進

      Using Cross Origin Resource Sharing (CORS) in ASP.NET Web API

      代碼下載:

      posted @ 2012-11-29 23:01  張善友  閱讀(7384)  評論(3)    收藏  舉報
      主站蜘蛛池模板: 99RE6在线视频精品免费下载| 国产中文字幕精品在线| 国产日女人视频在线观看| 久久国产一区二区三区| 欧美人成精品网站播放| 一区二区三区AV波多野结衣| 国产成人片无码视频| 德阳市| 色悠悠在线观看入口一区| 欧洲亚洲精品免费二区| 2020年最新国产精品正在播放| 亚洲综合无码久久精品综合| 黄页网址大全免费观看| 国内少妇人妻偷人精品视频| 国产三级无码内射在线看| 日韩一区二区三区水蜜桃| 国产精品福利中文字幕| 亚洲区色欧美另类图片| 人妻系列中文字幕精品| 欧美激情 亚洲 在线| 亚洲国产区男人本色vr| 乃东县| 亚洲午夜成人精品电影在线观看| 国产精品无码不卡在线播放| 色综合色国产热无码一| 亚洲夜色噜噜av在线观看| 日本久久香蕉一本一道| 亚洲免费一区二区av| 在线日韩日本国产亚洲| 精品无码国产污污污免费| 国内免费视频成人精品| 欧美成人精品三级网站| 国产午夜精品久久精品电影| 久久99国产亚洲高清观看首页| 亚洲人妻中文字幕一区| 久久96热在精品国产高清| 与子乱对白在线播放单亲国产| 亚洲天堂亚洲天堂亚洲色图| 亚洲国产欧美在线观看| 国模肉肉视频一区二区三区 | 国产精品一线天粉嫩av|