none
使用WCF操作数据库很慢 RRS feed

  • 问题

  • 自己写的wcf程序,为了操作数据库,引入了Entity Frame Work,但是对数据库的操作很慢,就比如从一张表里取数据,绑定到前台的grid控件上,跟asp.net直接的绑定速度有很大的差异,

    这种反应慢是不可避免的,还是说有什么办法可以解决,

    请指教~


    Dude....
    2011年5月23日 5:40

答案

  • 有差异是正常的,因为以前你的做法是asp.net直接访问数据库,引入WCF后,你的asp.net会先访问wcf服务,wcf服务再去访问数据库。

    假如访问数据库的代码是一致的,由于你引入了额外的wcf服务层,导致现在的数据流中多了一次I/O操作(根据你选择的绑定模式,可能为进程内、跨进程、跨机器通讯),因此调用时间会延长。

     

    至于你所说的“很大的差异”,这是要打问号的,你必须把你的数据处理流程描述清楚,明白你前后两种做法的具体差异,比如你是否在asp.net直接绑定的模式中使用了Entity Framework?

     

     



    2011年5月23日 8:48
  • ASP.NET + ADO.NET +数据库

    ASP.NET + WCF + ADO.NET +数据库

    你分别测试一下ASP.NET 调用WCF服务这段时间,做一下对比。

    另外详细描述一下ASP.NET + WCF 的设置。

     


    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    Windows Azure中文技术论坛

    2011年5月24日 12:30
    版主

全部回复

  • 有差异是正常的,因为以前你的做法是asp.net直接访问数据库,引入WCF后,你的asp.net会先访问wcf服务,wcf服务再去访问数据库。

    假如访问数据库的代码是一致的,由于你引入了额外的wcf服务层,导致现在的数据流中多了一次I/O操作(根据你选择的绑定模式,可能为进程内、跨进程、跨机器通讯),因此调用时间会延长。

     

    至于你所说的“很大的差异”,这是要打问号的,你必须把你的数据处理流程描述清楚,明白你前后两种做法的具体差异,比如你是否在asp.net直接绑定的模式中使用了Entity Framework?

     

     



    2011年5月23日 8:48
  • ASP.NET + ADO.NET +数据库

    ASP.NET + WCF + ADO.NET +数据库

    你分别测试一下ASP.NET 调用WCF服务这段时间,做一下对比。

    另外详细描述一下ASP.NET + WCF 的设置。

     


    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    Windows Azure中文技术论坛

    2011年5月24日 12:30
    版主
  • Hi CukeLock,

     

    引入WCF后跟asp.net直接的绑定速度有很大的差异,你可以具体描述得详细一些吗?到底差别有多大(大概的具体时间)?你是不是引入WCF之后还应用了其它的一些组件?另外你可以把你的WCF配置文件及操作数据库的代码列出来。


    Please mark the replies as answers if they help or unmark if not. If you have any feedback about my replies, please contact msdnmg@microsoft.com Microsoft One Code Framework
    2011年5月26日 11:00
    版主