javascript版linq的簡單介紹

本文目錄一覽:

怎麼用javascript連接webservice

直接上示例代碼 :

MyService.asmx

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Services;

using System.Xml;

/// summary

///MyService 的摘要說明

/// /summary

[WebService(Namespace = “”)]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

//若要允許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消對下行的注釋。

[System.Web.Script.Services.ScriptService]

public class MyService : System.Web.Services.WebService {

public MyService () {

//如果使用設計的組件,請取消注釋以下行

//InitializeComponent();

}

[WebMethod]

public string HelloWorld()

{

return “Hello World”;

}

[WebMethod]

public XmlNode xml() {

XmlDocument doc = new XmlDocument();

doc.LoadXml(“hiHello World/hi”);

return doc.FirstChild;

}

[WebMethod]

public string add(int a, int b)

{

return (a + b)+””;

}

}

aspx頁面

html xmlns=””

head runat=”server”

title/title

script language=”javascript” type=”text/javascript”

// !CDATA[

function Button1_onclick() {

var data;

data = “?xml version=\”1.0\” encoding=\”utf-8\”?”

+”soap12:Envelope xmlns:xsi=\”\” xmlns:xsd=\”\” xmlns:soap12=\”\””

+ “soap12:Body”

+ “HelloWorldResponse xmlns=\”\””

+ “HelloWorldResultstring/HelloWorldResult”

+ “/HelloWorldResponse”

+ “/soap12:Body”

+”/soap12:Envelope”;

var xmlhttp = new ActiveXObject(“Microsoft.XMLHTTP”);

var URL = “MyService.asmx”;

xmlhttp.Open(“POST”, URL, false);

xmlhttp.SetRequestHeader(“Content-Type”, “text/xml; charset=gb2312”);

xmlhttp.SetRequestHeader(“SOAPAction”, “”);

xmlhttp.setRequestHeader(“Content-Length”, data.length);

xmlhttp.Send(data);

var xml = xmlhttp.responseText;

var doc = new ActiveXObject(“Microsoft.XMLDOM”);

doc.loadXML(xml);

//alert(doc.selectSingleNode(“//HelloWorldResult”).text);

//alert(doc.xml);

alert(doc.selectSingleNode(“//HelloWorldResponse”).childNodes[0].nodeName);

}

function add() {

var a = 10;

var b = 15;

var data;

data = “?xml version=\”1.0\” encoding=\”utf-8\”?”

+ “soap12:Envelope xmlns:xsi=\”\” xmlns:xsd=\”\” xmlns:soap12=\”\””

+ “soap12:Body”

+ “add xmlns=\”\””

+ “a”+a+”/a”

+ “b”+b+”/b”

+ “/add”

+ “/soap12:Body”

+ “/soap12:Envelope”;

var xmlhttp = new ActiveXObject(“Microsoft.XMLHTTP”);

var URL = “MyService.asmx”;

xmlhttp.Open(“POST”, URL, false);

xmlhttp.SetRequestHeader(“Content-Type”, “text/xml; charset=gb2312”);

xmlhttp.SetRequestHeader(“SOAPAction”, “”);

xmlhttp.setRequestHeader(“Content-Length”, data.length);

xmlhttp.Send(data);

var xml = xmlhttp.responseText;alert(xml);

var doc = new ActiveXObject(“Microsoft.XMLDOM”);

doc.loadXML(xml);

}

function getxml() {

var a = 10;

var b = 15;

var data;

data = “?xml version=\”1.0\” encoding=\”utf-8\”?”

+ “soap12:Envelope xmlns:xsi=\”\” xmlns:xsd=\”\” xmlns:soap12=\”\””

+ “soap12:Body”

+ “add xmlns=\”\””

+ “/soap12:Body”

+ “/soap12:Envelope”;

var xmlhttp = new ActiveXObject(“Microsoft.XMLHTTP”);

var URL = “MyService.asmx”;

xmlhttp.Open(“POST”, URL, false);

xmlhttp.SetRequestHeader(“Content-Type”, “text/xml; charset=gb2312”);

xmlhttp.SetRequestHeader(“SOAPAction”, “”);

xmlhttp.setRequestHeader(“Content-Length”, data.length);

xmlhttp.Send(data);

var xml = xmlhttp.responseText; alert(xml);

var doc = new ActiveXObject(“Microsoft.XMLDOM”);

doc.loadXML(xml);

}

// ]]

/script

/head

body

form id=”form1″ runat=”server”

div

input id=”Button1″ type=”button” value=”button” onclick=”getxml()” /

/div

/form

/body

/html

LINQ的原理淺析

LINQ(Language Integrated Query)是Visual Studio 2008中的領軍人物。藉助於LINQ技術,我們可以使用一種類似SQL的語法來查詢任何形式的數據。目前為止LINQ所支持的數據源有SQL Server、Oracle、XML(標準通用標記語言下的一個應用)以及內存中的數據集合。開發人員也可以使用其提供的擴展框架添加更多的數據源,例如MySQL、Amazon甚至是GoogleDesktop。

一般來講,這類查詢語句的一個重要特點就是可以並行化執行。雖然有些情況下並行可能會帶來一些問題,但這種情況非常少見。這樣也就水到渠成地引出了PLINQ這個並行處理的LINQ類庫。

PLINQ原名為Parallel LINQ,支持XML和內存中的數據集合。執行於遠程伺服器上的查詢語句(例如LINQ to SQL)顯然無法實現這個功能。

將LINQ語句轉換為PLINQ語句極為簡單——只需要在查詢語句中From子句所指定的數據源的最後添加.AsParallel()即可。隨後Where、OrderBy和Select子句將自動改為調用這個並行的LINQ版本。

據MSDN Magazine介紹,PLINQ可以以三種方式執行。第一種是管道處理:一個線程用來讀取數據源,而其他的線程則用來處理查詢語句,二者同步進行——雖然這個單一的消費線程可能並不那麼容易與多個生產線程同步。不過若是能夠仔細配置好負載平衡的話,仍然會極大地減少內存佔用。

第二種模式叫做「stop and go」,用於處理結果集需要被一次返回時(例如調用ToList、ToArray或對結果排序)的情況。在這種模式下,將依次完成各個處理過程,並將結果統一返回給消費線程。這個模式在性能上將優於第一種模式,因為它省去了用來保持線程同步所花費的開銷。

最後一種方法叫做「inverted enumeration」。該方法並不需要實現收集到所有的輸出,然後在單一的線程中處理,而是將最終調用的函數通過ForAll擴展傳遞到每個線程中。這是目前為止最快的一種處理模式,不過這需要傳遞到ForAll中的函數是線程安全的,且最好不包含任何lock之類的互斥語句。

若是PLINQ中任意的一個線程拋出異常,那麼所有的其他線程將會被終止。若是拋出了多個異常,那麼這些異常將被組合成一個MultipleFailuresException類型的異常,但每個異常的調用堆棧仍會被保留。

linq查詢語句

where lbbn.length = 2

就行了

var table = cache_cplb.where( o= o.lbbh.length = 2).toList();

foreach(row in table)

{

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/198678.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-04 10:26
下一篇 2024-12-04 10:27

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智慧,Python都扮演著重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 使用JavaScript日期函數掌握時間

    在本文中,我們將深入探討JavaScript日期函數,並且從多個視角介紹其應用方法和重要性。 一、日期的基本表示與獲取 在JavaScript中,使用Date對象來表示日期和時間,…

    編程 2025-04-28
  • JavaScript中使用new Date轉換為YYYYMMDD格式

    在JavaScript中,我們通常會使用Date對象來表示日期和時間。當我們需要在網站上顯示日期時,很多情況下需要將Date對象轉換成YYYYMMDD格式的字元串。下面我們來詳細了…

    編程 2025-04-27
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27
  • Guava Limiter——限流器的簡單易用

    本文將從多個維度對Guava Limiter進行詳細闡述,介紹其定義、使用方法、工作原理和案例應用等方面,並給出完整的代碼示例,希望能夠幫助讀者更好地了解和使用該庫。 一、定義 G…

    編程 2025-04-27

發表回復

登錄後才能評論