溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

WCF與ExtJs實現(xiàn)項目的實例分析

發(fā)布時間:2021-11-24 09:43:39 來源:億速云 閱讀:134 作者:柒染 欄目:編程語言

今天就跟大家聊聊有關WCF與ExtJs實現(xiàn)項目的實例分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據(jù)這篇文章可以有所收獲。

當我在寫過用Restful方式調用WCF進行上傳下載后,愕然發(fā)現(xiàn)原來WCF支持原生數(shù)據(jù)(Raw)的返回,這就解決了ExtJs與Wcf之間進行跨域調用中的難題:返回數(shù)據(jù)必須滿足<script>格式。下面根據(jù)WCF與ExtJs之間的跨域訪問中實現(xiàn)的項目,通過Stream和ContentType的聯(lián)合使用,返回原生數(shù)據(jù)給Extjs,從而實現(xiàn)跨域調用。

***步:在PageGridService.svc后臺代碼中,添加操作契約GetProductsByPageCorssDomain,代碼為:

[OperationContract]  [WebInvoke(Method = "*", ResponseFormat = WebMessageFormat.Json,  UriTemplate = "GetProductsByPageCorssDomain?start={start}&limit={limit}&callback={callback}")]  public Stream GetProductsByPageCorssDomain(int start, int limit,string callback)  {  ProductsDataContext productDbContext = new ProductsDataContext();  IQueryable<Product> res = productDbContext.Product.Select(product => product);  PageData<Product[]> returnData = new PageData<Product[]>();  returnData.TotolRecord = res.ToArray<Product>().Length;  resres = res.Skip<Product>(start);  resres = res.Take<Product>(limit);  returnData.Data = res.ToArray<Product>();  System.Runtime.Serialization.Json.DataContractJsonSerializer formater = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(PageData<Product[]>));  MemoryStream ms = new MemoryStream();  formater.WriteObject(ms, returnData);  ms.Position = 0;  StreamReader sr = new StreamReader(ms);  string objContent = sr.ReadToEnd();  string returnStr = callback+"("+objContent+")";  sr.Close();  ms = new MemoryStream();  StreamWriter sw = new StreamWriter(ms);  sw.AutoFlush = true;  sw.Write(returnStr);  ms.Position = 0;  WebOperationContext.Current.OutgoingResponse.ContentType = "text/plain";  return ms;  }

第二步:在項目中創(chuàng)建一個新的htm頁面:PageGridCorssDomainWithRow.htm,代碼為:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>ExtJs+WCF+LINQ打造分頁Grid</title> <link rel="stylesheet" type="text/css" href="resources/css/ext-all.css" /> <script type="text/javascript" src="adapter/ext/ext-base.js" charset="gb2312"></script> <script type="text/javascript" src="ext-all-debug.js" charset="gb2312"></script> <link rel="stylesheet" type="text/css" href="shared/examples.css" /> <script type="text/javascript" src="shared/examples.js" charset="gb2312"></script> <script type="text/javascript" src="PageGridCrossDomainWithRow.js" charset="gb2312"></script> </head> <body> <h2> ExtJs+WCF+LINQ打造分頁跨域Grid</h2> <div id="page-grid"> </div> </body> </html>

看完上述內容,你們對WCF與ExtJs實現(xiàn)項目的實例分析有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI