如何:使用配置来添加 ASP.NET AJAX 终结点
Windows Communication Foundation (WCF) 允许您创建一个服务来提供一个支持 ASP.NET AJAX 的终结点,并且可以从客户端 Web 站点上的 JavaScript 中调用该终结点。若要创建这样的终结点,可以使用配置文件(与使用所有其他 Windows Communication Foundation (WCF) 终结点一样),或使用不要求任何配置元素的方法。本主题演示配置方法。
使服务终结点成为支持 ASP.NET AJAX 的终结点的部分过程包括:配置终结点以使用 WebHttpBinding 以及添加 <enableWebScript> 终结点行为。配置终结点后,实现和承载服务的步骤与任何 WCF 服务使用的步骤类似。有关可运行示例,请参见使用 HTTP POST 的 AJAX 服务。
有关如何在不使用配置的情况下配置 ASP.NET AJAX 终结点的更多信息,请参见如何:在不使用配置的情况下添加 ASP.NET AJAX 终结点。
创建基本 WCF 服务
通过用 ServiceContractAttribute 属性标记的接口定义基本 WCF 服务协定。用 OperationContractAttribute 标记每个操作。确保设置 Namespace 属性。
[ServiceContract(Namespace = "MyService")] public interface ICalculator { [OperationContract] // This operation returns the sum of d1 and d2. double Add(double n1, double n2); //Other operations omitted… }
使用
CalculatorService
实现ICalculator
服务协定。public class CalculatorService : ICalculator { public double Add(double n1, double n2) { return n1 + n2; } //Other operations omitted…
定义
ICalculator
和CalculatorService
实现的命名空间,方法是将它们放置在一个命名空间块中。Namespace Microsoft.Ajax.Samples { //Include the code for ICalculator and Caculator here. }
创建服务的 ASP.NET AJAX 终结点
创建一个行为配置,并指定服务的支持 ASP.NET AJAX 的终结点的 <enableWebScript> 行为。
<system.serviceModel> <behaviors> <endpointBehaviors> <behavior name="AspNetAjaxBehavior"> <enableWebScript /> </behavior> </endpointBehaviors> </behaviors> </system.serviceModel>
为使用 WebHttpBinding 和前面的步骤中定义的 ASP.NET AJAX 行为的服务创建终结点。
<system.serviceModel> <services> <service name="Microsoft.Ajax.Samples.CalculatorService"> <endpoint address="" behaviorConfiguration="AspNetAjaxBehavior" binding="webHttpBinding" contract="Microsoft.Ajax.Samples.ICalculator" /> </service> </services> </system.serviceModel>
在 IIS 中承载服务
若要在 IIS 中承载服务,请使用应用程序中的 .svc 扩展创建名为 service 的新文件。编辑此文件,在其中为服务添加适当的 @ServiceHost 指令信息。例如,
CalculatorService
示例的服务文件中的内容包含以下信息。<%@ServiceHost language=c# Debug="true" Service="Microsoft.Ajax.Samples.CalculatorService" %>
有关在 IIS 中承载的更多信息,请参见如何:在 IIS 中承载 WCF 服务。
调用服务
- 在相对于 .svc 文件的空地址处配置终结点,这样便可以使用服务了。可通过向 service.svc/<操作>(例如,表示
Add
操作的 service.svc/Add)发送请求来调用服务。可以通过在 ASP.NET AJAX 脚本管理器控件的脚本集合中输入终结点 URL 来使用它。有关示例,请参见使用 HTTP POST 的 AJAX 服务。
另请参见
任务
如何:将启用了 AJAX 的 ASP.NET Web 服务迁移到 WCF