网站模板库
  • 首页
  • web前端工具
    • HTML/JS转换工具
    • JS/HTML格式化工具
    • 字母/英文大小写转换工具
    • robots.txt文件生成工具
    • Js压缩/格式化工具
    • Css在线压缩工具_代码格式化
  • 关于我们
    • 免责声明
    • 联系我们
    • 广告服务
    • 服务项目
    • 关于我们
    • 网站轮播
    • 公告
    • 成都优优科技专用
    • 按行业分类
  • web学院
    • 服务器教程
    • 学习资料
      • 基础书籍
      • 交互书籍
      • 入门教程
      • 特效分类
    • 案例分享
    • web资讯
  • 网页特效
    • 图片特效
    • 导航特效
    • 滑动按钮
    • 表单特效
    • 文字特效
    • 弹窗特效
    • 其他特效
  • 织梦模板
    • 科技/电子/数码/通信
    • 文化/艺术/广告/传媒
    • 装修/设计/家居/家具
    • 基建/施工/地产/物业
    • 餐饮/酒店/旅游/票务
    • 食品/果蔬/饮料/日用
    • 服饰/珠宝/礼品/玩具
    • 摄影/婚庆/家政/生活
    • 运动/健身/体育/器材
    • 学校/教育/培训/科研
    • 美容/保健/医院/医疗
    • 金融/财税/咨询/法律
    • 政府/组织/集团/协会
    • 汽车/物流/交通/搬运
    • 机械/设备/制造/仪器
    • 化工/环保/能源/材料
    • 农业/畜牧/养殖/宠物
    • 其他模版
    • IT/软件/信息/互联网
  • 手机模板
    • 手机APP模板
    • 微信小程序模板
    • wap
  • 网站模板
    • joomla模板
    • Drupal模板
    • z-blog模板
    • EyouCms模板
    • Bootstrap模板
    • 帝国cms模板
    • CmsEasy模板
    • MetInfo模板
    • 购物商城模板
      • Shopify主题
      • PrestaShop主题
    • 后台模板
    • 纯HTML模板
    • ecshop模板
    • phpwind模板
    • pbootcms模板
    • phpcms模板
    • wordpress模板
    • discuz模板
  • 教程
    • 织梦教程
    • Discuz教程
    • WordPress教程
    • Phpcms教程
    • Phpwind教程
    • ECShop教程
    • Joomla教程
    • Drupal教程
    • zblog教程
    • EyouCMS教程
    • 帝国cms教程
    • MetInfo教程
    • CmsEasy教程
登录
当前位置:网站模板库 > web学院 > 服务器教程 > 怎样用js调用wcf服务
商业源码 服务器教程 2023-12-20 21:30:02

怎样用js调用wcf服务

怎样用js调用wcf服务,第1张

需要SystemWebExtensionsdll(可能需要AJAXExtensionsToolboxdll)

网上下载ASPAJAXExtSetup

使用的时候把上面的2个dll放到bin下,并添加引用(一般服务器没有安装ASPAJAXExtSetup)

==============================

Web服务

==============================

using System;

using SystemWeb;

using SystemCollections;

using SystemWebServices;

using SystemWebServicesProtocols;

using SystemWebScriptServices;

using SystemData;

using SystemTextRegularExpressions;

/// <summary>

/// addComment 的摘要说明

/// </summary>

[WebService(Namespace = "http://tempuriorg/")]

[WebServiceBinding(ConformsTo = WsiProfilesBasicProfile1_1)]

[ScriptService]

public class manageComment : SystemWebServicesWebService

{

[WebMethod(EnableSession = true)]

public string CommentByID(string userName)

{

//支持session

}

public string DeleteHostComment(int replayID)

{

}

}

aspx页面设置web服务文件的路径

===============================

<asp:ScriptManager ID="smAddComment" runat="server">

<Services>

<asp:ServiceReference Path="~/WS/manageCommentasmx" />

</Services>

</asp:ScriptManager>

js调用

=================================

manageCommentCommentByID('名称');

manageCommentDeleteHostComment(1);

tip:调用的格式->[命名空间]类名方法名(参数1[,参数2……])

  1,可以先传到视频网站上,然后引用,例如优酷网站,截取以下视频代码插入就可以了<object id="playerObject" width="100%" height="100%" name="playerObject" data="视频的url" style="" type="application/x-shockwave-flash"><param name="bgcolor" value="#000000"><param name="allowfullscreen" value="true"><param name="allowscriptaccess" value="always"><param name="wmode" value="opaque">

<param name="quality" value="high">

<param name="flashvars" "></object>。

  2:在客户端服务器的WCF服务代码里调用ReadFile方法,传入公司服务器上文件的物理路径。

  3:即可在客户端服务器端获取到公司服务器文件的二进制流了,之后可以保存下来,也可以直接回发给客户客户端。

  4:可以用SQL语句来获取件:select Tc from openrowset(bulk N'D:\DB_Backup\E5KST01\audit_trail_20130419bak', single_blob) T(c)。

WCF在跨域传输使用了两种模型的方法调用:一种是同步模型,这种模型显然对那些需要大量操作时间的方法调用(如从数据库中获取大量数据时)是一种痛苦的选择。另一种是异步模型的方法调用,这种模型是一种非阻塞方法,其方法调用期间并不等到方法调用结束获得结果才返回,而是方法调用一经开始就马上返回,程序可以继续向前执行,被调用方法和主程序同时执行,在调用方法结束才返回结果。显然这种模型给了我们很好的编程和使用体验。

基于WCF在普通的编码是以文本编码方式在信道之间传输信息的,这种编码会把所有的二进制信息以字节数组的形式存储,并以Base64进行编码,而Base64则是用三个字节来储存4 个字符信息。使得数据量增大约30%以上。在WCF中引入了一种专门针对数据流进行优化编码的MTOM模型。下面我们使用编码模型和调用模型三种方式来改写文件流的传输,以提高WCF应用程序的性能。

1、 MTOM模型:

这模型在于将SOAP消息编码成SOAP MT OM(消息传输优化机制)编码。这种编码是为那些包含大量的二进制数据的SOAP消息而做的,它是把数据流作为SOAP消息的附件而添加的。所以利用这种编码在传输信道之间传输可以显著提高传输性能。在WCF中MTOM模型的操作契约中只能使用单个Stream对象作为参数或者返回类型。

这种模型的特点如图所示:

11实现服务契约

服务契约是服务所支持的操作、使用的消息交换模式和每一则消息的格式,它控制消息被格式化的方式,在这里由于要使用MTOM编码消息,所以在操作契约中必须要以单一的Stream对象为输入输出参数。所以这儿我们把服务定义为如下的形式:

[ServiceContract]

public interface ISendStreamService

{

[OperationContract]

void SendStream(Stream stream);

//这个方法的是为了传递文件的参数而设的

[OperationContract]

void FileNameSetting(string filename, string destinationpath);

}

另外我们还定义了一个传输文件路径的名称的辅助方法:FileNameSetting();

12实现服务器方法

在上面定义了公共的接口后,接下来我们就实现接口的方法,主要的方法的目的是为了传输Stream对象,由于Stream是一个抽象类,所以这儿以文件流为操作对象来使用SendStream()这个方法。

13客户通过接口调用服务器方法

客户端调用服务器方法至少有三种,这里我们选择工厂方法来实现,SystemServiceModeChannelChannelFactory<T>类是这个信道工厂类,它的方法CreateChannel()可以创建T的实例。

ISendStreamService proxy=new

ChannelFactory<ISendStreamService>(“WSHttpBinding_ISendStreamService”)Create-

Channel();

proxyFileNameSetting(fileSubstring (fileLastIndexOf ("\\")+1), filePath);

proxySendStream(inStream);

14服务器和客户端的配置信息

配置信息定义了双方通信的终结点、绑定、契约行为及其他的配置如安全,可靠性等。服务器的配置如:

<service behaviorConfiguration="SendStreamServiceBehavior"

name="SendStreamService">

<endpoint address=" http://localhost:5504/WebSite2/ISendStreamService "

binding="wsHttpBinding" bindingConfiguration="MTMOBinding"

contract="ISendStreamService">

</endpoint>

<bindings>

<wsHttpBinding>

<binding name="MTMOBinding" messageEncoding="Mtom">

</wsHttpBinding>

</bindings>

</service>

<%@ ServiceHost Language="C#" Debug="true"

Service="YourNamespaceYourServiceClass"

Factory="SystemServiceModelActivationWebServiceHostFactory" %>

方法 模型 消息 服务器 契约
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 怎样用js调用wcf服务

商业源码 钻石

分享到:
上一篇
手机用路由器有信号打开头条新闻显示网络不稳定连接不到服务器怎么回事
下一篇
腾讯云iis环境,access数据库连不上怎么解决

相关推荐

frp穿透速度跟哪个有关

frp穿透速度跟哪个有关

minecraft服务器服务端指的是什么

minecraft服务器服务端指的是什么

如何切换掌上lol的游戏大区

如何切换掌上lol的游戏大区

VPdN错误789:L2TP 连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到一个处理错误 怎么办

VPdN错误789:L2TP 连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到一个处理错误 怎么办

0条评论

发表评论 取消回复

要发表评论,您必须先登录。

提供最优质的资源集合

立即查看 了解详情
网站模板库

主题/付费下载/查看/余额管理/自定义积分,集成支付,卡密,推广奖励等。

本站导航
  • 链接标题
友情链接
  • 链接标题
快速搜索
本站由钛宇宙强力驱动
友情链接:
    商业源码网蜀ICP备2023005044号
    网站模板库
    • 登录
    • 注册
    网站模板库
    • 首页
    • web前端工具►
      • HTML/JS转换工具
      • JS/HTML格式化工具
      • 字母/英文大小写转换工具
      • robots.txt文件生成工具
      • Js压缩/格式化工具
      • Css在线压缩工具_代码格式化
    • 关于我们►
      • 免责声明
      • 联系我们
      • 广告服务
      • 服务项目
      • 关于我们
      • 网站轮播
      • 公告
      • 成都优优科技专用
      • 按行业分类
    • web学院►
      • 服务器教程
      • 学习资料►
        • 基础书籍
        • 交互书籍
        • 入门教程
        • 特效分类
      • 案例分享
      • web资讯
    • 网页特效►
      • 图片特效
      • 导航特效
      • 滑动按钮
      • 表单特效
      • 文字特效
      • 弹窗特效
      • 其他特效
    • 织梦模板►
      • 科技/电子/数码/通信
      • 文化/艺术/广告/传媒
      • 装修/设计/家居/家具
      • 基建/施工/地产/物业
      • 餐饮/酒店/旅游/票务
      • 食品/果蔬/饮料/日用
      • 服饰/珠宝/礼品/玩具
      • 摄影/婚庆/家政/生活
      • 运动/健身/体育/器材
      • 学校/教育/培训/科研
      • 美容/保健/医院/医疗
      • 金融/财税/咨询/法律
      • 政府/组织/集团/协会
      • 汽车/物流/交通/搬运
      • 机械/设备/制造/仪器
      • 化工/环保/能源/材料
      • 农业/畜牧/养殖/宠物
      • 其他模版
      • IT/软件/信息/互联网
    • 手机模板►
      • 手机APP模板
      • 微信小程序模板
      • wap
    • 网站模板►
      • joomla模板
      • Drupal模板
      • z-blog模板
      • EyouCms模板
      • Bootstrap模板
      • 帝国cms模板
      • CmsEasy模板
      • MetInfo模板
      • 购物商城模板►
        • Shopify主题
        • PrestaShop主题
      • 后台模板
      • 纯HTML模板
      • ecshop模板
      • phpwind模板
      • pbootcms模板
      • phpcms模板
      • wordpress模板
      • discuz模板
    • 教程►
      • 织梦教程
      • Discuz教程
      • WordPress教程
      • Phpcms教程
      • Phpwind教程
      • ECShop教程
      • Joomla教程
      • Drupal教程
      • zblog教程
      • EyouCMS教程
      • 帝国cms教程
      • MetInfo教程
      • CmsEasy教程

      弹窗标题

      这是一条网站公告,可在后台开启或关闭,可自定义背景颜色,标题,内容,用户首次打开关闭后不再重复弹出,此处可使用html标签...