在我們已經定義了所有運行我們的TODO應用程序所需要的資料,是該以啟用ASP.Net AJAX的WCF服務方式暴露服務給客戶端的時候了。對於這點,我們將添加一個啟用AJax的WCF服務.svc文件。同時,我們將去掉代碼分離文件。
或者,我們可以添加一個XML文件或者文本文件然後將文件重新命名為ToDOService.svc即可。使用XML編輯器打開它並添加如下所示的指令:
- <%@ ServiceHost Language="C#" Debug="true" Service="ServiceLibrary.ToDOService" %>
下面,我們將在web.config文件中放置運行該服務的必要配置信息。該代碼如下所示:
- <system.serviceModel>
- <behaviors>
- <endpointBehaviors>
- <behavior name="ASPNetAJaxBehavior">
- <enableWebScript />
- </behavior>
- <behavior name="WebUI.HelloWorldServiceASPNetAJaxBehavior">
- <enableWebScript />
- </behavior>
- </endpointBehaviors>
- </behaviors>
- <serviceHostingEnvironment ASPNetCompatibilityEnabled="true" />
- <services>
- <service name="ServiceLibrary.ToDOService">
- <endpoint behaviorConfiguration="ASPNetAJaxBehavior" binding="webHttpBinding"
- contract="ServiceLibrary.IToDOService" />
- </service>
- <service name="WebUI.HelloWorldService">
- <endpoint address="" behaviorConfiguration="WebUI.HelloWorldServiceASPNetAJaxBehavior"
- binding="webHttpBinding" contract="WebUI.HelloWorldService" />
- </service>
- </services>
- </system.serviceModel>
接下來,在文件上右鍵屬性並選擇在浏覽器中查看來查看運行的服務。再進入下一階段之前,必須提到幾點。在ASP.Net附帶的一些特性如HTTP Context、Session等中你需要添加一個serviceHostingEnvironment 並設置ASPNetCompatibilityEnabled="true" 來啟用使用的WCF服務。