Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 通过WCF发送guid_.net_Wcf - Fatal编程技术网

.net 通过WCF发送guid

.net 通过WCF发送guid,.net,wcf,.net,Wcf,我有一个WCF项目,它通过实体框架连接到数据库 我正在尝试发送一个对象列表,其中一个变量的类型为GUID 我正在将我的实体。员工转换为列表,如果ID为int一切正常,但如果我将其更改为GUID,它将崩溃,并显示以下错误消息: 接收对XXXXXXXXXX:92389:service.svc的HTTP响应时出错。这可能是由于服务端点绑定未使用HTTP协议造成的。这也可能是由于服务器中止了HTTP请求上下文(可能是由于服务关闭)。有关详细信息,请参阅服务器日志 有人能帮忙吗?您可以将GUID作为ToS

我有一个WCF项目,它通过实体框架连接到数据库

我正在尝试发送一个对象列表,其中一个变量的类型为GUID

我正在将我的
实体。员工
转换为
列表
,如果
ID
int
一切正常,但如果我将其更改为
GUID
,它将崩溃,并显示以下错误消息:

接收对XXXXXXXXXX:92389:service.svc的HTTP响应时出错。这可能是由于服务端点绑定未使用HTTP协议造成的。这也可能是由于服务器中止了HTTP请求上下文(可能是由于服务关闭)。有关详细信息,请参阅服务器日志


有人能帮忙吗?

您可以将GUID作为
ToString()
传递。会更容易

也许您应该看看[DataContract]和[DataMember]属性


我希望这有助于

您需要在客户端上重新生成客户端代理,因为您已经更改了数据合同中的属性类型。

有一个解决方案: 如果要避免将GUID强制转换为字符串,只需禁用代理即可。 在实体代码中,只需添加以下内容:

YourContext.Configuration.ProxyCreationEnabled = false
但是您需要知道,如果您要这样做,您将无法生成DML命令


希望它能帮助你

“It崩溃”不是一个足够精确的bug报告。错误消息是什么?输入值是什么?错误消息是:接收对XXXXXXXXXX:92389:service.svc的HTTP响应时出错。这可能是由于服务端点绑定未使用HTTP协议造成的。这也可能是由于服务器中止了HTTP请求上下文(可能是由于服务关闭)。有关详细信息,请参阅服务器日志。根据错误消息,您的服务可能因未处理的异常而崩溃。发布您的代码,以便获得更好的答案。在iDevice中:[OperationContract]列出员工();在服务中:public List Employees(){List Emp=new List();使用(ProjectEntities PE=new ProjectEntities()){Emp=PE.Employees.ToList();}返回Emp;}EmployeeID是GUID,如果我将它转换为INT或String它的工作状态…我应该尝试什么姿态?[DataContract]在类中,而[DataMember]在所有属性中。更好的解决方案是解析ToString()。我认为这可能是最好的解决你的问题上面的链接去西班牙版的MSDN页面。这是原件: