为每一个软件行业的从业人员,无论是开发人员、项目经理、还是测试人员,也要不断适应这个趋势,我认为WCF开源只会使我们的工作更简单和更轻松,IDE 还进行了重新设计,从而向开发人员提供对.NET Framework 组件的直接访问。
准备:
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的映射,如果没有,建立映射,建立时取消“检查文件是否存在”的选择。
开始:
1、在VS 2005中新建一个Web Site项目。
添加web.config,将 改为 。
2、在该项目中添加一个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\如果想进一步了解WCF开源的代码,请参考:
Artech:[原创]我的WCF之旅(1):创建一个简单的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调用WCF,需要设置为:Factory="System.ServiceModel.Web.WebServiceHostFactory"。#t#
5、开始***次运行,访问http://localhost/AjaxWCFDemo/CNBlogsWCFService.svc,会出现如下页面:
6、继续运行,访问http://localhost/AjaxWCFDemo/CNBlogsWCFService.svc/js,你会看到自动生成访问WCF的客户端代理脚本。
7、OK!服务器端的WCF已经准备好了,下面就开始客户端的访问。
8、配置ASP.NET Ajax,在web.config中进行设置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