WCF服務程式設計設計規範(7):WCF最佳實踐《WCFBestPractice》資料下載與翻譯

技術小胖子發表於2017-11-15
    今天繼續《WCF服務程式設計設計規範》系列,今天推薦一下另外一個學習資料,並提供下載。作者是Brian Noyes,Juval Lowy 的同事。PPT資料《WCF Best Practice》,中文翻譯為《WCF最佳實踐》。今天內容主要包含,作者介紹,資料的目錄結構,然後是翻譯的前三部:服務定義、異常處理和安全。中英文對照。分享給大家。你可以下載英文版ppt。/Files/frank_xl/WCFBestPractices.pdf
【1】英文目錄 Contents:
WCF Best Practice

    About Brian

    Agenda

    Service Definition

    Service Exception Handling

    Service Security

    Service Hosting

    Self Host Code

    Client Proxy Classes

    Client Proxy Management

    Client Exception Management

    Data Contracts

    SOAP vs. REST
【2】中文目錄:
WCF 最佳實踐

    關於Brian

    大綱

    服務定義

    服務異常處理

    服務安全

    服務託管

    自託管程式碼

    客戶端代理類

    客戶端代理管理

    客戶端異常管理

    資料契約

    SOAP和REST

【3】英文名稱:《WCF Best Practice》

中文名稱:《WCF最佳實踐》

【4】About Brian

關於Brian

Brian Noyes
Chief Architect, IDesign
IDesign 首席架構師
brian.noyes@idesign.net
Microsoft Regional Director
微軟區域總監
Microsoft MVP Connected Systems
微軟MVP
Publishing
出版
Ø Developing Applications with Windows Workflow Foundation,
Ø LiveLessons training DVD, June 2007
Ø Smart Client Deployment with ClickOnce, Addison Wesley,January 2007
Ø Data Binding in Windows Forms 2.0,
Ø Addison Wesley, January 2006
Ø MSDN Magazine, MSDN Online,
Ø CoDe Magazine, The Server Side .NET,
Ø asp.netPRO, Visual Studio Magazine
Speaking
講座
Ø Microsoft TechEd US, Europe, Malaysia,
Ø Visual Studio Connections, DevTeach,
Ø INETA Speakers Bureau, MSDN Webcasts
Ø E-mail: brian.noyes@idesign.net
Ø Blog: http://briannoyes.net
 

【5】Agenda

大綱

Service Best Practices
服務最佳實踐
Client Best Practices
客戶端最佳實踐
Data Contracts
資料契約最佳實踐
SOAP vs. REST
SOAPRest

【6】Service Definition

服務定義

Separate contract from implementation
契約與實現分離
Ø Contract (interface) first
契約(介面)優先
Define services in a class library, not directly in a Host project
在類庫裡定義服務,不要在宿主專案裡定義
Layering
分層
Ø Separate Service Layer?
劃分服務層
Instance model
例項模型
Ø Change to Per Call as default
設定Per Call(單調模式)為預設值
Ø Session / Singleton when?
何時使用會話/與單例模式?

【7】Service Exception Handling

服務異常處理

For operation specific exceptions
為每個操作指定異常
Ø Try/catch, throw FaultException<T>
Try/catch,丟擲FaultException<T>
Favor using FaultException<T>
推薦使用FaultException<T>
Ø FaultException can be ambiguous to the client because unhandled exceptions arrive as a FaultException
FaultException對於客戶端來說過於模糊,因為未處理的異常都會在客戶端表現為FaultException
Include FaultContract in service contract definition if you throw FaultExceptions
如果你要跑出異常,請在服務契約定義裡包含FaultContract(錯誤契約)
Ø Part of the API you are exposing
就要暴露的API的一部分
For global exception handling from services
對於來此服務全域性的異常處理
Ø Use an error handler
使用錯誤處理
Include exception details in debug builds only
只有在除錯的時候才會包含異常的詳細資訊

【8】Service Security

服務安全

Intranet services
企業區域網(乙太網)服務
Ø Default Windows Auth may be all you need
預設使用Windows驗證
Ø Possibly Hybrid –Windows Creds / Custom Application Roles
或者使用Hybrid –Windows憑據/自定義Application角色
Extranet / Internet / Custom security needs
企業外部網路/ Internet/自定義安全需求
Use ASP.NET Membership / Role providers
使用ASP.NET Membership / Role providers
ASP.NET providers
ASP.NET providers
Ø Really a standard .NET framework security infrastructure
一個標準的.NET framework安全基礎結構
Ø Built in providers for Windows or SQL Server – based credentials / roles
providers裡為WindowsSQL Server內建了基於憑據/角色的安全機制
Ø Easy to implement custom providers
容易實現自定義providers
Ø Establish principal on the thread
執行緒上建立principal
Ø Re-usable across ASP.NET, WCF, WPF & Windows Forms (via Client Application Services)
Ø 可以跨越ASP.NETWCFWPF  Windows Forms (通過客戶端應用程式服務)
 本文轉自 frankxulei 51CTO部落格,原文連結:http://blog.51cto.com/frankxulei/318665,如需轉載請自行聯絡原作者


相關文章