jquery 直接调用 wcf,面向服务的SOA架构 ( 第二天)
在前面的基础上,我们来开始第二天编写 客户端 的东西,不过讲之前,我想告诉大家的是:
这个简单的SOA的架构,我们直接通过wcf 调用到 后台的方法, 而中间没有使用 C#代码,大大减少我们客户端的代码,
同时比传统的三层架构 更加灵活,更加方便。
别人肯定会说?前台 完全不使用C#代码也能调用到 后台的服务,这在以前 是不可能 想象的。但是现在我实现了它!!!
大家来看看吧!
第一步:
我们要导添加 server的引用(重要),接下来我们要修改我们的配置文件了
如下图:
<?xml version="1.0" encoding="utf-8"?> <!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
--> <configuration>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" /> </system.web> <connectionStrings>
<add name="vbk" connectionString="Data Source=192.168.2.227;database=Vbk;uid=sa;pwd=vosung"/>
</connectionStrings>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="WCFService.WCFServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors> <endpointBehaviors>
<behavior name="Client.WebServiceAspNetAjaxBehavior">
<webHttp /> </behavior> </endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true" />
<services>
<service name="Server.webService" behaviorConfiguration="WCFService.WCFServiceBehavior">
<endpoint address="operate" behaviorConfiguration="Client.WebServiceAspNetAjaxBehavior"
binding="webHttpBinding" contract="Server.IService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
</configuration>
可能看到我的博客的人是对WCF完全不懂的人,但是我现在有必要对我的配置进行说明:
1. 看到 这个节点了吗?<system.serviceModel>,没错 ,这里面的所有配置都是WCF的所有配置。
大家在仔细看,在这个节点下,有三个比较大的 子节点 <behaviors>(可有可无), <services>(必须有),
其实还有一个是<binding>(可有可无),这里我们可能没有看到。
2.大家来重点看下 服务的配置:
<services> --服务配置的开始
<service name="Server.webService" --(必须配置)Server表示 命名空间,webService表示对应的类
(而这个类必须带有 [ServiceContract]属性,或者 实现 带有[ServiceContract]属性的接口)
behaviorConfiguration="WCFService.WCFServiceBehavior" --这个可以在行为中配置看到
>
<endpoint address="operate" -- 表示终结点配置(必须配置),name 表示终结点的名字,用来区分不同的终结点
behaviorConfiguration="Client.WebServiceAspNetAjaxBehavior" --这个可以在行为配置中可以找到
binding="webHttpBinding" --(必须配置) 这个是绑定,如果使用web 访问,必须要 使用webHttpBinding 方法的绑定
contract="Server.IService" /> ---(必须配置) 契约,其实是配置 接口的位置, 也是 命名空间.接口名
<endpoint address="mex" ---表示元数据, 如果不配置,访问时将不能 得到数据源 ,元数据的所有配置 都是 这个写的
binding="mexHttpBinding" --绑定根据前面的绑定选择
contract="IMetadataExchange" /> ---必须的,只能写IMetadataExchange
</service>
</services>
绑定看完之后 ,我们来看待行为 配置:
<behaviors> --行为配置的开始
<serviceBehaviors> --开始配置服务的行为
<behavior name="WCFService.WCFServiceBehavior">--
配置一个服务行为,这里的行为可以在 <service >通过behaviorConfiguration 中被调用,请看上面的服务的行为配置
<serviceMetadata httpGetEnabled="true" />-- 表示元数据,表示我们可以直接通过访问地址得到得到 数据源
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>-- 服务行为配置介绍
<endpointBehaviors> --终结点 行为配置的开始
<behavior name="Client.WebServiceAspNetAjaxBehavior"> --与上面的的终结点行为一致
<webHttp /> --这个表示允许 通过 web 的HTTP的请求进行访问,不过不配置则不能访问
</behavior>
</endpointBehaviors> --终结点行为配置结束
</behaviors>
到这里位置,wcf 服务配置 就只差 最后一步了,我们打开WebService.svc,我们可以看到
修改如下Service="Server.webService" 这里跟你刚才配置的 <Service> 的 name 属性一致(重要)
同时去掉 codebehind ,结果如下:
<%@ ServiceHost Language="C#" Debug="true" Service="Server.webService" %>
然后 我们来 直接通过 浏览器直接浏览WebService.svc ,
表示已经成功了,下来我们来分别访问
localhost:30543/WebService.svc/operate (如果出现 没有找到终结点表示成功)
localhost:30543/WebService.svc/operate/select(如果出现没有 找到此方法 也表示 配置都是成功的)
VS2012版本源码下载:
http://files.cnblogs.com/files/liujing379069296/Vs2012Client.rar
vs2010 源码下载
http://files.cnblogs.com/files/liujing379069296/VS2010Client.rar
jquery 直接调用 wcf,面向服务的SOA架构 ( 第二天)的更多相关文章
- 面向服务的SOA架构与服务总线ESB
之前的软件的开发主要是面向对象的编程架构 方法---对象---模块---组件---服务,感觉现在的开发的主流的软件架构的设计思想都是对其进行重用,只不过范围越来越大,有一个系统之间进行通信到多个系统之 ...
- jquery 直接调用 wcf,面向服务的SOA架构 ( 第三天)
所谓万事 具备,只欠东风了!! 接下来就是 wcf 的调用, 首先 在客户端下,随便 写一个 html页面,然后写入如下方法: <script src="scripts/jquery. ...
- WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]
WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...
- 面向服务的体系架构SOA
面向服务的体系架构SOA 序言 在.Net的世界中,一提及SOA,大家想到的应该是Web Service,WCF,还有人或许也会在.NET MVC中的Web API上做上标记,然后泛泛其谈! 的确,微 ...
- 面向服务的体系架构(SOA)
面向服务的体系架构(SOA) 1.面向服务的体系架构(SOA) 面向服务的架构(service-oriented architecture)是Gartner于2O世纪9O年代中期提出的面向服务架构的概 ...
- jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding
Jquery ajax调用WCF服务 例子效果如下:原界面 点击按钮GetList get后,通过指定的Url获取数据添加到table 新建一个控制台项目,添加IContract.cs,DBServi ...
- SOA——面向服务的体系架构
上一篇博文中提到了"紧耦合"的现象.怎样解决?SOA.採用面向服务的体系架构. 一.What? SOA=Service-oriented Architecture面向服务的体系结构 ...
- 一个通过JSONP跨域调用WCF REST服务的例子(以jQuery为例)
JSONP(JSON with Padding)可以看成是JSON的一种“使用模式”,用以解决“跨域访问”的问题,这篇简单的文章给出一个简单的例子用于模拟如何通过jQuery以JSONP的访问调用一个 ...
- 说说面向服务的体系架构SOA
序言 在.Net的世界中,一提及SOA,大家想到的应该是Web Service,WCF,还有人或许也会在.NET MVC中的Web API上做上标记,然后泛泛其谈! 的确,微软的这些技术也确实推动着面 ...
随机推荐
- BibTex (.bib) 文件的凝视
1) 将某个參考文献所有去掉,能够去掉前面的『@』 样例 @article{##, author = {###}, title = {###}, journal = {###}, ...
- freemarker该阵列
freemarker该阵列 1.设计思路 (1)声明一个数组 (2)打印数组中的元素 2.设计源代码 <#--freemarker数组--> <#assign nums=[12,34 ...
- 初学者应学会如何加快seo
新手学习如何加快seo 介绍: 应该如何初学者学习SEO,前弯路.真正的高手SEO知识. 作为一个新人,学习如何加快seo知识吧? 多人天天都在学习seo知识.看别人的文章.看多了就感觉 ...
- 世界杯推动彩票APP爆发,谁将会笑到最后?
巴西世界杯的火爆上演不只给球迷们带来了一场华丽的足球盛宴,对网络彩票行业而言,这也是一次千载难逢的商机. 只是,并不是全部玩家都能攫取理想的商业利益,网络彩票的角逐宛如世界杯的比赛一样,有人晋 ...
- 跟着辛星认识一下PHP的自己主动载入
作为一个框架,文件的载入机制是不能少的,那么我们应该怎么载入呢,这些PHP已经给我们想好了,所以我们仅仅须要依照规则办事就能够了,PHP中有两个函数能够完毕这个功能,第一个是__autoload,如今 ...
- NOI第一天感想&小结
嘛...中午总算是到了深圳了--在虹桥机场和飞机上和市队大神们一起讨论各种各样奇(sang)葩(bing)的算(ren)法(lei)还是非常开心的,在此再各种膜拜一下尽管没来比赛的FFT大神@陈中瑞 ...
- Struts2大约Action系统培训6大约action的接受三个参数的方法
我们知道,action在web它在控制器的发展起到了一定作用,通过接收client来到参数,运行不同的模块只实现运营,因此,接收参数是非常重要的组成部分,有接收到的参数的仅前端.操作权限运行数据库后端 ...
- Linux服务器杀马(转)
开篇前言 Linux服务器一直给我们的印象是安全.稳定.可靠,性能卓越.由于一来Linux本身的安全机制,Linux上的病毒.木马较少,二则由于宣称Linux是最安全的操作系统,导致很多人对Linux ...
- 解决 Mybatis 元素类型为 "resultMap" 的内容必须匹配 "(constructor?,id*,result*,association*,collection*,discriminat
在配置 mybatis mapper.xml文件时, 一不小心就会报如下类似的异常: Caused by: org.springframework.beans.factory.BeanCreation ...
- ASP.NET MVC应用程序展示RDLC报表
原文:ASP.NET MVC应用程序展示RDLC报表 学习ASP.NET MVC这样久,在学习,练习与应用过程中,觉得很多知识与以前的ASP.NET多有区别,但是实现操作起来,细处又有许多相近的地方. ...