我已经使用vb.net创建了一个WCF服务。在我的开发机器上一切正常,但是当我部署它时,它失败了,错误如下
‘尝试反序列化参数http://tempuri.org/:querys时出错’
我在服务上调用了一个方法,它有一个名为‘query’的参数。此参数是(CustomType的)列表。
然后,我创建了一个新方法,它只有一个ArrayList类型的参数。认为这应该是序列化的。同样,它在我的开发机器上工作得很好,但当我部署它时失败了,并出现了上述相同的错误。
我完全搞不懂它怎么能在一台机器上序列化参数,而不是在另一台机器上序列化参数。我已经在另外两台机器上试过了,但在这两台机器上都不工作。所以这就排除了机器本身的问题。
所有计算机都运行Win XP和.Net v3.5。该服务是在Visual Studio2008中使用VB .net开发的。
还有没有人经历过这种情况?
我没有包含任何代码,因为错误发生在System.ServiceModel上,并且正如我在上面提到的,代码在开发机器上是有效的。
如果你需要更多的信息,请告诉我。
提前感谢
发布于 2010-07-04 05:00:17
您是否使用属性DataContract,DataMember标记了要序列化的'CustomType‘及其字段/属性?
当您将服务引用添加到客户端应用程序时,您使用哪个设置?(重用引用程序集中的类型,始终生成消息协定...)
发布于 2010-07-04 05:06:33
如果在IIS上承载WCF服务,则应记住在服务器上运行此命令。
C:\WINDOWS\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe /i /x
发布于 2010-07-05 17:32:58
感谢所有回复的人,
我已经解决了这个问题,但不幸的是不知道如何解决。我尝试了许多代码更改,但据我所知,我已经将代码重置为原来的方式。它现在正在工作,我不能在这个问题上花费更多的时间来找出导致它的原因。
我猜只是其中的一件事。
https://stackoverflow.com/questions/3172239
复制相似问题