浅谈ASP.NET AJAX的WCF服务


  本文标签:ASP.NET AJAX WCF服务

  现在我们已经定义了所有运行我们的TODO应用程序所需要的资料,是该以启用ASP.NET AJAX的WCF服务方式暴露服务给客户端的时候了  。对于这点,我们将添加一个启用ASP.NET AJAX的WCF服务 svc文件  。同时,我们将去掉代码分离文件  。

  或者,我们可以添加一个XML文件或者文本文件然后将文件重新命名为ToDoService.svc即可  。使用XML编辑器打开它并添加如下所示的指令:

  1. <%@ ServiceHost Language="C#" Debug="true" Service="ServiceLibrary.ToDoService" %> 

  
现在,我们将在web.config文件中放置运行该服务的必要配置信息  。该代码如下所示:

  1. <system.serviceModel> 
  2.   <behaviors> 
  3.    <endpointBehaviors> 
  4.     <behavior name="AspNetAjaxBehavior"> 
  5.      <enableWebScript /> 
  6.     behavior> 
  7.     <behavior name="WebUI.HelloWorldServiceAspNetAjaxBehavior"> 
  8.      <enableWebScript /> 
  9.     behavior> 
  10.    endpointBehaviors> 
  11.   behaviors> 
  12.   <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 
  13.   <services> 
  14.    <service name="ServiceLibrary.ToDoService"> 
  15.     <endpoint behaviorConfiguration="AspNetAjaxBehavior"
     binding="webHttpBinding" 
  16.      contract="ServiceLibrary.IToDoService" /> 
  17.    service> 
  18.    <service name="WebUI.HelloWorldService"> 
  19.     <endpoint address="" behaviorConfiguration=
    "WebUI.HelloWorldServiceAspNetAjaxBehavior" 
  20.      binding="webHttpBinding" contract="WebUI.HelloWorldService" /> 
  21.    service> 
  22.   services> 
  23. system.serviceModel> 

  现在,在文件上右键属性并选择在浏览器中查看来查看运行的服务  。再进入下一阶段之前,必须提到几点事情  。在ASP.NET附带的一些特性如HTTP Context、Session等中你需要添加一个serviceHostingEnvironment 并设置aspNetCompatibilityEnabled="true" 来启用ASP.NET AJAX的WCF服务  。