通过WCF发送GUID

时间:2014-06-28 08:21:50

标签: .net wcf

我有一个WCF项目,它连接到一个带有Entity Framework的数据库。

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

我正在将entity.Employees转换为List<Employees>,如果IDint,一切正常,但如果我将其更改为GUID,则崩溃时出现此错误消息:

  

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

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:0)

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

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

http://msdn.microsoft.com/es-es/library/ms733127(v=vs.110).aspx

我希望这会有所帮助

答案 1 :(得分:0)

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

答案 2 :(得分:0)

有一个解决方案: 如果你想避免将你的GUID转换为字符串,你可以简单地禁用代理。 在您的实体代码中添加以下内容:

YourContext.Configuration.ProxyCreationEnabled = false

但是你需要知道,如果你这样做,你将无法制作DML命令。

希望它对你有所帮助!