2010-10-08 64 views
1

我已阅读所有其他帖子,并在过去2个小时内一直使用Google搜索!大约3小时前我开始使用WCF数据服务。首先尝试wcf数据服务始终超出客户端

我的服务位于asp.net4应用程序上,ado实体模型公开了一个sql服务器数据库。

这里是FasDataService.svc.cs

public class FasDataService : DataService<FASStoreEntities> 
{ 
    public static void InitializeService(DataServiceConfiguration config) 
    { 
     config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2; 
     config.UseVerboseErrors = true; 
     config.SetServiceOperationAccessRule("*", ServiceOperationRights.All); 
     config.SetEntitySetAccessRule("*", EntitySetRights.All); 
    } 
} 

我然后一个WinForms 4应用用下面的代码在主()

FASStoreEntities fas = new FASStoreEntities(u); 
var a = from al in fas.Customers 
     where al.Name == "Alinio" 
     select al; 
MessageBox.Show(a.First().Phone1); 

当运行的网络应用程序,并指向http://localhost:15995/FasDataService.svc/Customers(1)它加载在那里的唯一的客户

我的错误是WebException未处理:

该操作已超时。内部的 异常为空。

此外,一切都是本地的,但当我这样做(在铬)它需要很好的时间!想想如何在生产中表现出它的可怕性?

+0

嘿,所以当我改变它为config.SetEntitySetAccessRule(“客户”,EntitySetRights.All);并删除这一行 - > config.SetServiceOperationAccessRule(“*”,ServiceOperationRights.All);我运行了linq查询工作的win窗体应用程序。下一次我建立它停止,现在我本地链接给我一个请求错误?我检查了所有的实体,他们有主键!? – gideon 2010-10-08 22:02:54

+0

我也改变了这个:var a = from fas.Customers select al;但是它在下一行中超时,在MessageBox.Show(a.First()。Phone1); – gideon 2010-10-08 22:31:40

回答

0

由于某种原因,今天我安装了小提琴手,并尝试它,它的工作原理!我也用linqpad查询了这个服务,它没有任何问题!

虽然整个今天我打了WCF数据服务,并有吨的访问,因为各种错误的数据问题,数据连接仍然是开放的,有些错误在一个领域等等等等插入额外的数据

Fiddler是在诊断错误是非常有用的,它很难找出真正的错误,所以小提琴手是必须的。