簡明解析WCF開源地帶
為每一個(gè)軟件行業(yè)的從業(yè)人員,無論是開發(fā)人員、項(xiàng)目經(jīng)理、還是測試人員,也要不斷適應(yīng)這個(gè)趨勢,我認(rèn)為WCF開源只會使我們的工作更簡單和更輕松,IDE 還進(jìn)行了重新設(shè)計(jì),從而向開發(fā)人員提供對.NET Framework 組件的直接訪問。
準(zhǔn)備:
1、安裝.NET Framework 3.5 Beta 2。
開始我安裝的是.NET Framework 3.5 June 2007 Community Technology Preview (CTP),走了一些彎路。
2、安裝Visual Studio 2005 extensions for .NET Framework 3.0 (WCF & WPF)。
3、檢查IIS是否有.svc到c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll的映射,如果沒有,建立映射,建立時(shí)取消“檢查文件是否存在”的選擇。
開始:
1、在VS 2005中新建一個(gè)Web Site項(xiàng)目。
添加web.config,將 改為 。
2、在該項(xiàng)目中添加一個(gè)WCF Service,命名為CNBlogsWCFService.svc。 3、修改App_Code中CNBlogsWCFService.cs的代碼:
- CNBlogsWCFService.cs的代碼: [ServiceContract(Namespace = "http://www.cnblog.com/")]
- public interface ICNBlogsWCFService
- {
- [OperationContract]
- string AddToFavorites(string blogID, string postID);
- }
- public class CNBlogsWCFService : ICNBlogsWCFService
- {
- public string AddToFavorites(string blogID, string postID)
- {
- return string.Format("收藏成功!BlogID:{0},PostID:{1}", blogID, postID);
- }
- }
3\如果想進(jìn)一步了解WCF開源的代碼,請參考:
Artech:[原創(chuàng)]我的WCF之旅(1):創(chuàng)建一個(gè)簡單的WCF程序
Bruce Zhang:Windows Communication Foundation入門(Part Two)
4、修改CNBlogsWCFService.svc的代碼:
增加: Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory。
改為:
Factory是.NET Framework 3.5 Beta 2中增加的,而我們用的是Visual Studio 2005 extensions for .NET Framework 3.0,所以要手動加上。
如果不通過Ajax調(diào)用WCF,需要設(shè)置為:Factory="System.ServiceModel.Web.WebServiceHostFactory"。#t#
5、開始***次運(yùn)行,訪問http://localhost/AjaxWCFDemo/CNBlogsWCFService.svc,會出現(xiàn)如下頁面:
6、繼續(xù)運(yùn)行,訪問http://localhost/AjaxWCFDemo/CNBlogsWCFService.svc/js,你會看到自動生成訪問WCF的客戶端代理腳本。
7、OK!服務(wù)器端的WCF已經(jīng)準(zhǔn)備好了,下面就開始客戶端的訪問。
8、配置ASP.NET Ajax,在web.config中進(jìn)行設(shè)置WCF開源:
- <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
- <%@ Register Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" Namespace="System.Web.UI" TagPrefix="asp" %>- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0