jQuery调用WCF 说明
在项目中用过一些WCF的技术
这篇文章是对以前用过的一点东西的一个梳理
一,webconfig的配置
除了一般的配置外,与WCF相关的配置如下
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="AllenBehavior">
<enableWebScript />
behavior>
endpointBehaviors>
behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<services>
<service name="jqueryWCF.WCFservice">
<endpoint address="" behaviorConfiguration="AllenBehavior" binding="webHttpBinding" contract="jqueryWCF.WCFservice" />
service>
services>
system.serviceModel>
其中节点中的name属性,是实现了服务契约的类型名,类型名必须是完整的,要包括名称空间
节点的address属性为空,说明使用基地址.
behaviorConfiguration属性与behavior节点的name属性相匹配
binding属性说明WCF服务使用什么协议,这里是HTTP协议
contract属性是描述契约的接口名称,也必须是完整的.如果没有接口直接写实现契约的类型名也可以(我这里就是这样).
节点使我们的WCF支持ajax
与后端的AspNetCompatibilityRequirements配合使用
这段JS是写在JQUERY框架下面的
function callServer(){
var id = Number($("#id").val());
var title = String($("#title").val());
var content = String($("#content").val());
$.ajax({
type: 'post',
url: '/WCFservice.svc/InsertRow',
contentType: 'text/json',
data: '{"id":'+id+',"title":"'+title+'","content":"'+content+'"}',
success: function(msg) {
var a = eval('('+msg+')');
if(String(a.d).length>0){alert(a.d);}
else{alert("服务器超时");}
}
});
}
$.ajax(.....)是框架提供的一个调用ajax的方法,兼容目前大多数浏览器
这里是WCF的地址+方法名
using System;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web; namespace jqueryWCF
{
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class WCFservice
{
[OperationContract]
[WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
public string InsertRow(int id,string title,string content)
{
return string.Format("您输入的标题是:{0}\n\n您输入的内容是:{1}\n\n此文章的id是:{2}",title,content,id.ToString());
}
}
}
系统要引用System.ServiceModel.Web的DLL默认是不引用的
与webconfig中的配合使用
OperationContract属性把方法公开在WCF服务中
RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json
说明传递近来的数据都是JSON形式的,只有两种形式,一个是JSON,一个是XML.
(我觉得JSON更"对象"一点,XML更"数据"一点)
这样可以传递多个参数进来,
项目示例:点此下载
jQuery调用WCF 说明的更多相关文章
- VS2010中使用Jquery调用Wcf服务读取数据库记录
VS2010中使用Jquery调用Wcf服务读取数据库记录 开发环境:Window Servere 2008 +SQL SERVE 2008 R2+ IIS7 +VS2010+Jquery1.3.2 ...
- 抛弃WebService,在.NET4中用 jQuery 调用 WCF
在我们之前的开发中,对于ajax程序,都是通过jQuery调用标记为[System.Web.Script.Services.ScriptService]的WebService,然后在WebServic ...
- jQuery调用WCF需要注意的一些问题
昨天,博客园首页增加了Digg功能.在该功能中我们开始尝试使用jQuery直接调用WCF.之前我们采用的方案是jQuery调用Web Service,然后WebService再调用服务层.这样调用主要 ...
- JQuery调用WCF服务,部署在iis
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable ...
- jQuery调用WCF
jQuery要调用WCF,首先要创建service.svc服务文件,这里边需要注意: [ServiceContract(Namespace = "")] [AspNetCompat ...
- jquery调用wcf案例
----------根据其他网友总结 1.在契约接口上添加:[WebInvoke(RequestFormat=WebMessageFormat.Json,ResponseFormat=WebMessa ...
- jQuery调用WCF服务传递JSON对象
下面这个示例使用了WCF去创建一个服务端口从而能够被ASP.Net页面通过jQuery的AJAX方法访问,我们将在客户端使用Ajax技术来 与WCF服务进行通信.这里我们仅使用jQuery去连接Web ...
- JQuery调用WCF服务
一:创建一个wcf服务项目 [ServiceContract] public interface IService1 { [OperationContract] [WebInvoke(RequestF ...
- jquery 调用wcf 的SOA架构,将三层架构运用到SOA的架构中来(第四天)
经过前面3天的学习,我想大家应该对SOA的架构有了初步的了解,其实 SOA与三层架构并不冲突,而是三层架构的升级版. 来看下传统的三层架构! 一共可以分为4个层: 模型层(可有可无),客户端,服务端, ...
随机推荐
- POJ 2259 Team Queue(队列)
题目原网址:http://poj.org/problem?id=2259 题目中文翻译: Description 队列和优先级队列是大多数计算机科学家已知的数据结构. 然而,Team Queue并不是 ...
- Go 连接PostgreSQL数据库
先在PostgreSQL数据库中建一个表,可以使用PostgreSQL官方的pgAdmin来完成: CREATE TABLE userinfo ( uid serial NOT NULL, usern ...
- 题解报告:hdu1995汉诺塔V(递推dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1995 Problem Description 用1,2,...,n表示n个盘子,称为1号盘,2号盘,. ...
- WinForm 里面关闭窗体的两个方法的区别 Form.coles()与Application,Exit()
- Suricata的所有运行方式模式(图文详解)
不多说,直接上干货! suricata的基本组成.Suricata是由所谓的线程(threads).线程模块 (thread-modules)和队列(queues)组成.Suricata是一个多线程的 ...
- echart动态加载数据
<!DOCTYPE html> <head> <meta charset="utf-8"> <title>EChar ...
- 跨库导表数据(sql)
程序员用 列子: insert into "000".tbFreeReportselect ReportCode ,ReportName ,GroupNamefrom openda ...
- Android开发中查看未root真机的app数据库
在Android开发中,如果用到数据库来储存数据,那么难免就要查看数据库中的内容,可是对于未root的真机来说,查看数据库就不是那么容易了,如果仅仅为了查看数据库再把手机root了,有点得不偿失,所以 ...
- QT入门学习2
QT获取窗口几何布局有2类函数: 1.包含框架:x().y().frameGemetry().pos().move()... 2.不包含框架:geometry().width().height().w ...
- jsp 访问文件夹中的图片,tomcat配置虚拟目录
1.配置hosts文件 找到C:\Windows\System32\drivers\etc\hosts.txt 文件 添加127.0.0.1 www.image.com 在dos 命令中执行 pi ...