支持ajax跨域调用的WCF搭建示例
来源:互联网 发布:mac刻录win7安装光盘 编辑:程序博客网 时间:2024/06/05 05:57
支持ajax 跨域调用的WCF搭建
1.新建一个"ASP.NET空Web应用程序"项目。
2.新建一个“WCF服务(支持ajax)”。
3.修改WCFAjaxService.svc下的WCFAjaxService.svc.cs文件
如下所示(示例):
namespace WCF_Ajax跨域调用示例{ [ServiceContract(Namespace = "WCF_Ajax跨域调用示例")] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] [JavascriptCallbackBehavior(UrlParameterName = "jsoncallback")] public class WCFAjaxService { [OperationContract] [WebGet(ResponseFormat = WebMessageFormat.Json)] public List<UserInfo> GetUser() { return new List<UserInfo>(){ new UserInfo(){Id=1,Name="jayjay1"},new UserInfo(){Id=2,Name="jayjay2"}}; } } [DataContract] public class UserInfo { [DataMember] public int Id { get; set; }
[DataMember]
public string Name { get; set; } } }
注意别忘了给Service打上
[JavascriptCallbackBehavior(UrlParameterName = "jsoncallback")]
标记。
4.修改Web.config配置文件
<system.serviceModel> <bindings> <webHttpBinding> <binding name="HttpJsonBinding" crossDomainScriptAccessEnabled="true"></binding> </webHttpBinding> </bindings> <behaviors> <endpointBehaviors> <behavior name="AjaxServiceAspNetAjaxBehavior"> <enableWebScript /> </behavior> </endpointBehaviors> </behaviors> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/> <services> <service name="AjaxService"> <endpoint address="" behaviorConfiguration="AjaxServiceAspNetAjaxBehavior" binding="webHttpBinding" bindingConfiguration="HttpJsonBinding" contract="AjaxService" /> </service> </services> </system.serviceModel>
注意,配置文件中添加了
<bindings> <webHttpBinding> <binding name="HttpJsonBinding" crossDomainScriptAccessEnabled="true"></binding> </webHttpBinding> </bindings>
节点,并在endpoint节点中添加了
bindingConfiguration="HttpJsonBinding"
5.调用方式
在另一个网站中使用
$.ajax({ url: "http://localhost:46318/WCFAjaxService.svc/GetUser?jsoncallback=?", type: "get", dataType: "jsonp", success: function (data) { alert(data[0]); } });
调用。
从返回报文中可以看出数据以jsonp格式跨域返回。
jsonp1430098026913([{"__type":"UserInfo:#WCF_Ajax%E8%B7%A8%E5%9F%9F%E8%B0%83%E7%94%A8%E7%A4%BA%E4%BE%8B","Id":1,"Name":"jayjay1"},{"__type":"UserInfo:#WCF_Ajax%E8%B7%A8%E5%9F%9F%E8%B0%83%E7%94%A8%E7%A4%BA%E4%BE%8B","Id":2,"Name":"jayjay2"}]);
data[0]指的是取第一个json对象,如 data[0].Name取到“jayjay1” 。
转自 http://www.cnblogs.com/sunniest/p/4459130.html
1 0
- 支持ajax跨域调用的WCF搭建示例
- 支持ajax 跨域调用的WCF搭建
- Ajax跨域调用WCF的实现
- ASP.NET Ajax调用WCF服务的代码示例
- AJAX调用WCF的配置
- ASP.NET Ajax调用WCF服务示例dudu
- 支持跨域Ajax调用的 JavaScript API
- WCF开发与调用的完整示例
- WCF开发与调用的完整示例
- JQuery使用$.ajax跨域调用winform托管的WCF服务(原创)
- 动态调用WCF示例
- JQuery 调用 WCF示例
- Jquery(Ajax) 调用wcf
- ajax调用WCF服务
- ajax调用WCF服务
- Ajax调用RESTful WCF
- WCF与AJAX编程开发实践(3):支持ASP.NET AJAX的WCF服务
- WCF与AJAX编程开发实践(3):支持ASP.NET AJAX的WCF服务
- SQL注入原理讲解,很不错!
- GUI
- CSS链接教程
- KYE以人性化服务打造用户满意快递
- 监听辅助功能的开启状态
- 支持ajax跨域调用的WCF搭建示例
- 键盘虚拟键值表
- PCF8591读写
- C# 常用加密方法收集 对称,非对称
- JD-GUI反编译后代码逻辑分析
- 设计模式: 命令(command)模式
- Validation failed for one or more entities. See ‘EntityValidationErrors’解决方法
- 跨越速运定制化服务:快递晚上也能送
- 坐标移动