当前位置: 首页 > news >正文

青白江做网站的公司app应用开发一般多少钱

青白江做网站的公司,app应用开发一般多少钱,微信怎么制作自己的公众号,android开发技术以前经常在群里听到朋友们说WebServices的性能特别的慢#xff0c;说的如何如何。说实话#xff0c;WebServices的确比调用本地数据要慢一些#xff0c;可是究竟有多慢#xff0c;真的如朋友们说的那么难以忍受吗#xff1f;我个人感觉#xff0c;多半原因在处理的方式上…以前经常在群里听到朋友们说WebServices的性能特别的慢说的如何如何。说实话WebServices的确比调用本地数据要慢一些可是究竟有多慢真的如朋友们说的那么难以忍受吗我个人感觉多半原因在处理的方式上。让我们亲自编写测试代码来证明这一切吧。文章由于是我一段时间的总结篇因此难免参杂个人主观因素说的不对的地方还请多多批评。以下我们主要从调用WebServices的方法的特点、应用场景、测试结果三个方面来进行下说明分析。 1. 直接返回DataSet对象     特点直接返回DataSet对象。     应用场景1.内网。2.外网且数据量在kb级别时。 2.返回DataSet对象用Binary序列化后的字节数组     特点字节数组流的处理模式。     应用场景较大数据交换。 3.返回DataSetSurrogate对象用Binary 序列化后的字节数组     特点使用微软提供的开源组件进行序列化依然是字节流的处理模式。详情请参考http://support.microsoft.com/kb/829740/zh-cn     应用场景 较大数据交换。 4.返回DataSetSurrogate对象用Binary 序列化并Zip压缩后的字节数组      特点使用微软提供的开源组件对字节流数组进行压缩后传递依然是字节流的处理模式。详情请参考http://support.microsoft.com/kb/829740/zh-cn      应用场景外网环境需要进行大数据量网络数据传递时建议采用此种方法。也是笔者强烈向大家推荐使用的一种方法。 WebServices的代码如下 WebServicesusing System;using System.Collections.Generic;using System.Web;using System.Web.Services;using System.Data;using Microsoft.Practices.EnterpriseLibrary.Common;using Microsoft.Practices.EnterpriseLibrary.Data;using System.IO;using System.IO.Compression;using System.Runtime.Serialization.Formatters.Binary;namespace WebService1{    /// summary    /// Service1 的摘要说明    /// /summary    [WebService(Namespace  http://tempuri.org/)]    [WebServiceBinding(ConformsTo  WsiProfiles.BasicProfile1_1)]    [System.ComponentModel.ToolboxItem(false)]    public class Service1 : System.Web.Services.WebService    {        [WebMethod(Description直接返回DataSet对象)]        public DataSet GetDataSet()        {            string sql  select * from Customers;            Database db  DatabaseFactory.CreateDatabase();            DataSet ds  db.ExecuteDataSet(CommandType.Text,sql);            return ds;        }        [WebMethod(Description  返回DataSet对象用Binary序列化后的字节数组)]        public byte[] GetBytes()        {            DataSet ds  GetDataSet();            BinaryFormatter bf  new BinaryFormatter();            MemoryStream ms  new MemoryStream();            bf.Serialize(ms, ds);            byte[] buffer  ms.ToArray();            return buffer;        }        [WebMethod(Description  返回DataSetSurrogate对象用Binary序列化后的字节数组)]        public byte[] GetDataSetSurrogateBytes()        {            DataSet ds  GetDataSet();            DataSetSurrogate dss  new DataSetSurrogate(ds);            BinaryFormatter bf  new BinaryFormatter();            MemoryStream ms  new MemoryStream();            bf.Serialize(ms,dss);            byte[] buffer  ms.ToArray();            return buffer;        }        [WebMethod(Description  返回DataSetSurrogate对象用Binary序列化并ZIP压缩后的字节数组)]        public byte[] GetDataSetSurrogateZipBytes()        {            DataSet DS  GetDataSet();            DataSetSurrogate dss  new DataSetSurrogate(DS);            BinaryFormatter bf  new BinaryFormatter();            MemoryStream ms  new MemoryStream();            bf.Serialize(ms, dss);            byte[] buffer  ms.ToArray();            byte[] Zipbuffer  Compress(buffer);            return Zipbuffer;        }        //压缩压缩后的字节数组        public byte[] Compress(byte[] data)        {            MemoryStream ms  new MemoryStream();            Stream zipStream  new GZipStream(ms, CompressionMode.Compress, true);            zipStream.Write(data, 0, data.Length);            zipStream.Close();            ms.Position  0;            byte[] buffer  new byte[ms.Length];            ms.Read(buffer, 0,int.Parse(ms.Length.ToString()));            return buffer;        }    }}   客户端调用WebServices的代码如下 客户端调用WebServicesusing System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using WebServicesClient.localhost;using System.Data;using System.Runtime.Serialization.Formatters.Binary;using System.IO;using System.Diagnostics;namespace WebServicesClient{    public partial class _Default : System.Web.UI.Page    {        Service1 s  new Service1();        protected void Page_Load(object sender, EventArgs e)        {        }        //直接返回DataSet对象        protected void Button1_Click(object sender, EventArgs e)        {            Stopwatch sw  new Stopwatch();            sw.Start();            DataSet ds  s.GetDataSet();            GridView1.DataSource  ds.Tables[0].DefaultView;            GridView1.DataBind();            sw.Stop();            Label1.Text  string.Format(耗时{0}毫秒, sw.ElapsedMilliseconds.ToString());        }        //得到DataSet对象用Binary序列化后的字节数组        protected void Button2_Click(object sender, EventArgs e)        {            Stopwatch sw  new Stopwatch();            sw.Start();            byte[] buffer  s.GetBytes();            BinaryFormatter bf  new BinaryFormatter();            DataSet ds  bf.Deserialize(new MemoryStream(buffer)) as DataSet;            GridView1.DataSource  ds.Tables[0].DefaultView;            GridView1.DataBind();            sw.Stop();            Label2.Text  string.Format(耗时{1}毫秒数据大小{0}, buffer.Length.ToString(), sw.ElapsedMilliseconds.ToString());        }        //得到DataSetSurrogate对象用Binary序列化后的字节数组        protected void Button3_Click(object sender, EventArgs e)        {            Stopwatch sw  new Stopwatch();            sw.Start();            byte[] buffer  s.GetDataSetSurrogateBytes();            BinaryFormatter bf  new BinaryFormatter();            DataSetSurrogate dss  bf.Deserialize(new MemoryStream(buffer)) as DataSetSurrogate;            DataSet ds  dss.ConvertToDataSet();            GridView1.DataSource  ds.Tables[0].DefaultView;            GridView1.DataBind();            sw.Stop();            Label3.Text  string.Format(耗时{1}毫秒数据大小{0}, buffer.Length.ToString(), sw.ElapsedMilliseconds.ToString());        }        //得到DataSetSurrogate对象用Binary序列化并ZIP压缩后的字节数组        protected void Button4_Click(object sender, EventArgs e)        {            Stopwatch sw  new Stopwatch();            sw.Start();            byte[] zipBuffer  s.GetDataSetSurrogateZipBytes();            byte[] buffer  UnZip.Decompress(zipBuffer);            BinaryFormatter bf  new BinaryFormatter();            DataSetSurrogate dss  bf.Deserialize(new MemoryStream(buffer)) as DataSetSurrogate;            DataSet ds  dss.ConvertToDataSet();            GridView1.DataSource  ds.Tables[0].DefaultView;            GridView1.DataBind();            sw.Stop();            Label4.Text  string.Format(耗时{1}毫秒数据大小{0},zipBuffer.Length.ToString(),sw.ElapsedMilliseconds.ToString());        }    }}   测试的结果按照先后顺序如下图所示 关于测试结果的特殊说明由于测试环境是在本地数据量也不是很大测试的结果离实际情况还不是很接近如果大家有条件的话可以测试一下同时希望把测试的结果提供给大家参考。 最后为了方便大家这里还提供了源码下载下载地址如下 /Files/wlb/WebServiceSummary.rar  关于源代码的特殊说明笔者这里的开发环境为VS2008中文版sp1SQLServer2008sp1。数据库为Northwind数据库。 转载于:https://www.cnblogs.com/aaa6818162/archive/2009/08/07/1541058.html
http://www.zqtcl.cn/news/160762/

相关文章:

  • 网站开发遇到的问题及解决方法深圳市做网站有哪些公司
  • 自媒体网站 程序18款免费软件app下载推荐
  • 产业园门户网站建设方案瑞昌网络推广
  • 长春市网站建设动漫wordpress主题下载地址
  • 如何做专业的模板下载网站wordpress 多网址
  • 做qq头像的网站wordpress 安装 服务器 系统
  • 怎样查网站的注册地点百度小说排行榜2021
  • 网站建设中中文模板wordpress siren
  • 设计本官方网站电脑版附近室内装修公司电话
  • 服务外包网站wordpress 禁止转载
  • l礼品文化网站建设不常见的网络营销方式
  • 做网站侵权腾讯企点打不开
  • iis 网站拒绝显示此网页上海网站建设类岗位
  • 营销型网站建设推荐google关键词
  • 网站上线是前端还是后端来做如何做垂直门户网站
  • 网站建设与管理2018海尔集团网站 建设目的
  • ps做网站大小wordpress调用 php文件
  • php网站忘记后台密码江苏网页制作报价
  • 网站模板 哪个好完备的常州网站推广
  • 衡水淘宝的网站建设濮阳市城乡一体化示范区主任
  • 公司网上注册在哪个网站商洛市商南县城乡建设局网站
  • 怎么才能让网站图文展示大连网站建设设计
  • 俱乐部网站 模板seo产品是什么意思
  • 新手学做网站的教学书建造师查询官网
  • win2012 iis添加网站群辉做网站服务器
  • 网站优化课程培训山东网站备案公司
  • top wang域名做网站好事业单位门户网站建设评价
  • 有什么网站可以做简历网站备案表格
  • 网站开发用什么图片格式最好厦门人才网个人会员
  • 关于网站开发的文献深圳网络推广代运营