中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 網(wǎng)絡(luò)編程 > C# 3.5 WCF REST架構(gòu)簡單網(wǎng)站
Visual Studio 2010層次驗證 回到列表 關(guān)于字符集和Unicode的相關(guān)知識
 C# 3.5 WCF REST架構(gòu)簡單網(wǎng)站

作者:5do8 時間: 2010-03-29 文檔類型:原創(chuàng) 來自:藍(lán)色理想

第 1 頁 C# 3.5 WCF REST架構(gòu)簡單網(wǎng)站 [1]
第 2 頁 C# 3.5 WCF REST架構(gòu)簡單網(wǎng)站 [2]
第 3 頁 C# 3.5 WCF REST架構(gòu)簡單網(wǎng)站 [3]

二:生成RSET 風(fēng)格的Web Service

為什么需要Web Service,主要是考慮復(fù)用,緩存,數(shù)據(jù)之間的EVENT通知,還有調(diào)試維護(hù)等,至于為什么要生成REST風(fēng)格的,不明白的請自覺GG之,當(dāng)然,不是每個方法的實現(xiàn)都用REST風(fēng)格的,對于安全級別比較高的,我還是會使用傳統(tǒng)的生成的wsdl web service去安排設(shè)計。這里這些暫時不會考慮。

新建一個wcf 應(yīng)用程序WcfService,創(chuàng)建一個wcf服務(wù)Member.svc,范例中只實現(xiàn)了對會員的簡單查詢和錄入:先看看IMember的實現(xiàn):

namespace WcfService
{
    // 注意: 如果更改此處的接口名稱 "IMember",也必須更新 Web.config 中對 "IMember" 的引用。
    [ServiceContract]
    public interface IMember
    {
        [OperationContract]
        [WebGet(UriTemplate = "User/{id}", ResponseFormat = WebMessageFormat.Json)]
        User GetUser(string id);
        [OperationContract]
        [WebInvoke(UriTemplate = "User/{name}/{password}", ResponseFormat = WebMessageFormat.Xml,Method = "POST")]
        int AddUser(string name,string password);


    }
}

注意第一行標(biāo)注[ServiceContract]這是一個可轉(zhuǎn)換的Service,3.5大部分是這種模式,接下來是[OperationContract]操作方法,相當(dāng)于asmx的類似于webmethod的這種標(biāo)注,然后[WebGet(UriTemplate = "User/{id}", ResponseFormat = WebMessageFormat.Json)]這就是表示訪問路徑與相應(yīng)的格式。我們期望在應(yīng)用程序訪問http://localhost/member.svc/User/1,能相應(yīng)Json格式的User數(shù)據(jù)。這里的User我并沒有數(shù)據(jù)的Member,因為敏感數(shù)據(jù)控制,緩存等考慮,中間做了一層,專用跨平臺交互:

    [DataContract]
    public class User
    {
        [DataMember]
        public int Id { get; set; }
        [DataMember]
        public string Name{ get; set; }

    }

在dlinq查詢是非常的方便的,例如看看具體的實現(xiàn):

    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class Member : IMember
    {
        public User GetUser(string id)
        {
            DbDomain.TestDbHandlerDataContext dc=new DbDomain.TestDbHandlerDataContext();
            return (from x in dc.Member where x.Id.ToString().Equals(id) select new User { Id = x.Id, Name = x.Name }).FirstOrDefault();
        }
        public int AddUser(string name, string password)
        {
            if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(password)) return -1;
            DbDomain.TestDbHandlerDataContext dc = new DbDomain.TestDbHandlerDataContext();
            DbDomain.Member clsMember = new DbDomain.Member();
            clsMember.Name = name;
            clsMember.Password = password;
            dc.Member.InsertOnSubmit(clsMember);
            dc.SubmitChanges();
            return clsMember.Id;
        }

    }

注意第一句話    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]標(biāo)注,是指明在IIS里訪問該service。這里我沒有做cache等,是直接操作數(shù)據(jù)庫的,dlinq操作數(shù)據(jù)之前,都會建立一個 DbDomain.TestDbHandlerDataContext dc = new DbDomain.TestDbHandlerDataContext();查詢類。查詢和更新都需要,語法也是很規(guī)范的linq,完全不會出現(xiàn)native sql或者dataset這些東西,全部是模型對象的處理,話外DataContext注意每次使用new的,不要使用static的。

注意,如果要讓你的svc是REST風(fēng)格的,除了上面的UriTemplate以外,還要修改svc的標(biāo)注,加上這句:

Factory="System.ServiceModel.Activation.WebServiceHostFactory"

修改web.Config,注意<system.serviceModel>節(jié)點上加這句:

   <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

      <behaviors>
        <endpointBehaviors>
          <behavior name="RestMemberServiceBehavior">
           <webHttp />
          </behavior>
        </endpointBehaviors>

注意加紅變粗的地方。差不多就注意這幾個地方,具體看我范例的配置吧。

出處:藍(lán)色理想
責(zé)任編輯:bluehearts

上一頁 C# 3.5 WCF REST架構(gòu)簡單網(wǎng)站 [1] 下一頁 C# 3.5 WCF REST架構(gòu)簡單網(wǎng)站 [3]

◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論

作者文章 更多作者文章
開源ASP博客程序Cmder V2.0
Asp.Net的N層模型編程探索
WebService服務(wù)和ajax使用教程
ASP.NET高級教程—實戰(zhàn)篇
FSO操作文件系統(tǒng)
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點最新 站點最新列表
周大福“敬•自然”設(shè)計大賽開啟
國際體驗設(shè)計大會7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機(jī)制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:2/31個記錄/頁 轉(zhuǎn)到 頁 共3個記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點的水印,亦不能抹去我站點水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評論管理人員有權(quán)保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計》
犀利開發(fā)—jQuery內(nèi)核詳解與實踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2