WCF性能问题大探讨 -- 大家多给我点建议 本帖最后由 timycg 于 2013-07-01 21:32:24 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的所谓“大字符串”,如果是传图片,就真的太奢侈了。你把byte[]编码了(长了许多)而且再经过xml层层封装,实在是不值。这就使用简单的http post传送二进制流内容(再url参数中可以有个别参数)就可以了。 对,有传输图片,不过我们的数据库存在的图片就是byte[],所以我给前台的也是byte[].可是我们的前台是安卓系统,不知道该怎么做。如果前台是C#写的客户端,我还可以优化。 不要采用单实例Single,这种虽然能节约服务器资源,但在高并发时,若有分布式事务或同步上下文时就会发生阻塞或死锁。建议使用每会话或每次请求都提供新实例、不同步上下文、无分布式事务、进行吞吐量配置(并发数、会话数、缓冲数、缓冲大小等),这种能提高访问性能,但也比较占用资源(如内存),不过都是相对的,若服务器性能低下,这种配置反而可能更差。 我没有看懂你的意思。你想说你如何“优化”c#写的客户端?你认为开发安卓系统里跑的程序就不能用比WCF开发起来更简洁、不需要将byte[]进行字符串编码、也不需要复杂的一大堆xml格式定义、运行起来速度更是快至少好几倍的http post方式? wcf不适合网络差的情况下使用。。wcf属于鸡肋性质放弃不用最好。 我没有看懂你的意思。你想说你如何“优化”c#写的客户端?你认为开发安卓系统里跑的程序就不能用比WCF开发起来更简洁、不需要将byte[]进行字符串编码、也不需要复杂的一大堆xml格式定义、运行起来速度更是快至少好几倍的http post方式?我的意思是我们的客户端是安卓代码写的,不是C#代码写的。我所做的测试都是通过写C#代码进行性能测试的。你的意思是我还需要把JSON转化后的字符串再次转换成byte[],是吗? 关于转换无效的一个问题 定义一个等腰梯形结构,包括上底、下底、高、腰长,以及计算梯形周长和面积的方法. 关于VS调试的问题, 如何分析提取网页数据并保存到数据库? Help!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!datareader转换成数组的问题! C#操作EXCEL 删除列与行如何实现(不要用COM组件) 2个窗体传送信息 c#中调用存储过程怎么获取返回值? 急问题:关于C#SQLServer编程的Dataset的设置问题 多个DataGridView绑定多个表时出现错误 关于窗体间的传值问题,大神戳进来 请教C# 如何添加关闭窗体事件
可是我们的前台是安卓系统,不知道该怎么做。
如果前台是C#写的客户端,我还可以优化。
建议使用每会话或每次请求都提供新实例、不同步上下文、无分布式事务、进行吞吐量配置(并发数、会话数、缓冲数、缓冲大小等),这种能提高访问性能,但也比较占用资源(如内存),不过都是相对的,若服务器性能低下,这种配置反而可能更差。
我没有看懂你的意思。你想说你如何“优化”c#写的客户端?你认为开发安卓系统里跑的程序就不能用比WCF开发起来更简洁、不需要将byte[]进行字符串编码、也不需要复杂的一大堆xml格式定义、运行起来速度更是快至少好几倍的http post方式?
wcf属于鸡肋性质放弃不用最好。
我没有看懂你的意思。你想说你如何“优化”c#写的客户端?你认为开发安卓系统里跑的程序就不能用比WCF开发起来更简洁、不需要将byte[]进行字符串编码、也不需要复杂的一大堆xml格式定义、运行起来速度更是快至少好几倍的http post方式?我的意思是我们的客户端是安卓代码写的,不是C#代码写的。
我所做的测试都是通过写C#代码进行性能测试的。你的意思是我还需要把JSON转化后的字符串再次转换成byte[],是吗?