日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

轻量级的Ajax解决方案——DynAjax:直接在客户端调用C#类的方法

發布時間:2023/12/20 C# 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 轻量级的Ajax解决方案——DynAjax:直接在客户端调用C#类的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言:
MS Ajax我在以前一個項目中使用過,感覺太笨重了,速度比較慢,而且出了問題,很難控制。所以我一直想用一個可控制的替代框架。
客戶端JS框架肯定首推JQuery,優雅簡潔的代碼,完美的支持表現和邏輯分離,讓人一見傾心。
服務器端框架我找了一些,國內的大部分還都是零散的代碼或處于萌芽狀態,大多數實現JSON的C#類就沒下文了,對安全性都沒有整合的建議。
直到今天,我發現了DynAjax,開源的,完全可控的Ajax服務器端框架。原項目作者是法國人(Mr Beno?t BEGUIN),現翻譯作者的介紹如下。?


概述?

DynAjax是一個Javascript / Ajax / ASP.Net / C# 結合的Ajax框架,它能幫助我們很容易地直接通過Javascript動態調用服務器端的C#方法(就像Java世界的DWR)。對象序列化基于JSON,支持混合對象轉換。

下載最新正式版?(v1.04)

DynAjax v1.04

DynAjax是什么 ?

DynAjax 是以C# .Net / ASP .Net為服務器端、以Prototype為客戶端的Ajax框架(譯者按:發現DynAjax只有Prototype版本的,稍后一些日子我會發布改寫的JQuery版的DynAjax),它支持從客戶端通過Javascript直接訪問服務器端C#方法.

DynAjax?為誰準備的 ?

以下 C# / ASP .Net?開發者:如果想要添加直接有效、方便的Ajax到你的網站 或者 專業級的項目開發 (我用它來開發自己公司的專業級項目).

DynAjax到底能做些什么,怎么做的?

假設你正在開發一個專業網站程序,你需要保存一些文本數據型的用戶信息到數據庫中,同時又不發送Html表單,也不刷新頁面。顯然,你需要使用Ajax。
你打算使用原始的XmlHttpRequest (Ajax) 請求數據和檢測返回的數據等等,發送數據并確認正確被保存?這種原始的方法讓人感到繁瑣。

通過使用DynAjax,你可以很容易地保存這些文本數據,而代價只是寫寫簡單的JavaScript (假設有一個類"MyClass",里面有個公共方法叫“saveText”,方法返回string類型的“ok”,你可以這樣調用) :
? var?response?=?MyClass.saveText(myText);
if?(response?==?"ok")?{
---?code?here?---
}
很簡單的使用方法哦,不是嗎?
瀏覽?示例頁?查看更多的例子和源碼.

DynAjax是同步還是異步的?

取決你的使用:如果你想同步調用,使用這種語法形式: var?response?=?MyClass.myMethod(myArgs);
if?(response?>=?2)?{
---?code?here?---
}
如果你想異步調用,可以使用下面這種語法形式:
MyClass.myMethod(myArgs,?function(response)?{
if?(response?>=?2)?{
---?code?here?---
}
});
DynAjax 推薦采用這種異步方式。

DynAjax支持哪些數據類型可以被客戶端Javascript接收?

幾乎所有數據類型都能從服務器端返回到客戶端。事實上,數據被轉換為JSON格式 (JSON是Javascript與其他語言比如C#.Net,Java等交換數據的特殊格式,有點類似xml的功能。)
這種格式支持以下數據類型:
  • Strings?字符串
  • Numbers?(int, decimal...) 數字
  • Booleans?布爾
  • Arrays?數組
  • HashTables?哈希表
  • Complex objects復合對象 (由成員變量, Arrays, HashTables, Arrays 或者其他復合對象 等等?構成)
  • "null" value

如你所見, 幾乎所有(數據類型)都是可能的:你可以做到的。打個比方 , 如果你想開發一個eBay類型的網站,在搜索頁面,訪問一個返回商品【實例】列表(List)的方法,并顯示列表 - 你只需要通過Javascript重復循環訪問返回的JSON格式性質列表 (List),進而訪問每個商品【實例】,然后訪問【實例】屬性。這就如你在C#里面做的一樣,酷!

如果你想對JSON這個格式有更多了解,請訪問?Json description site(英文)。

安全性怎樣?

DynAjax 針對所有可遠程訪問的Method(方法),皆提供了安全驗證機制.
事實上,每個方法必須被定義到XML格式的配置文件中,你可以設定這個方法是-需要-還是-不需要-訪問驗證。.
所以,即便黑客也不能在未驗證通過的情況下訪問 需要 驗證的方法。

安裝/設置DynAjax到我的Web應用程序中會麻煩嗎?

不麻煩, DynAjax基于8 個文件 :
  • DynAjaxHandler.aspx?和DynAjaxHandler.cs?- Ajax處理器,接受和分派所有的DynAjax調用
  • dynAjaxScript.aspx?dynAjaxScript.cs?- 動態生成客戶端JavaScript,屬于DynAjax的重要部分 (盡管這個文件擴展名是aspx,但它作為js調用)
  • prototype.js?- prototype框架
  • Newtonsoft.Json.dll?- 一個.net的Json程序集
  • log4net.dll?-?日志庫
  • dynAjaxConfig.xml?- DynAjax 的配置文檔(XML格式的)

這8 個文件必須直接拷貝到Web應用程序目錄中, 只有dynAjaxConfig.xml可以根據需要進行配置修改,其他文件非專業不要修改.
相當容易,對吧??
您可以看看第一本DynAjax教程?DynAjax?教程 01(英文),一步一步地進行DynAjax的安裝/配置。

我怎樣在xml配置文件中定義方法、類等等?

你可以訪問維基百科書: configuration 有詳細解釋.(譯者:作者忘了做鏈接,但配置確實不難,依樣葫蘆畫瓢即可

哪些人會對這個框架提供開發支持?

我 (Mr Beno?t BEGUIN) 和我的公司?Odesys.請隨意聯系我們?admin@dynajax.org?, 報告Bugs和新的功能特性建議。?


-------------------本文為翻譯性原創,轉載請注明出處,作者:Kai.Ma 博客:http://kaima.cnblogs.com----------


本文轉自Kai的世界,道法自然博客園博客,原文鏈接:http://www.cnblogs.com/kaima/archive/2008/03/15/1104541.html,如需轉載請自行聯系原作者。

總結

以上是生活随笔為你收集整理的轻量级的Ajax解决方案——DynAjax:直接在客户端调用C#类的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。