我安装了WCF服务,在启动时不断抛出意外的名称空间异常。奇怪的是,如果我通过IIS或通过WCFSvcHost在visual studio中托管它,它就可以正常工作。设置安装程序ServiceHost时,在设计器中找不到任何名称空间声明。有任何想法吗?
使用其他主机时,我对序列化和反序列化数据没有任何问题。
[DataContract(Name = "ClientSite", Namespace = "http://IAmRedacted.com/IAmRedacted.WCF.DataContract")]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple)]
public class ClientSite : IAppServerRequest
例外:
服务无法启动。System.Reflection.TargetInvocationException:调用的目标引发了异常。---> System.Runtime.Serialization.SerializationException:第1行位置153中的错误。应从名称空间' http://IAmRedacted.com/IAmRedacted.WCF.DataContract '..遇到元素'ClientSite',名称为' ClientSite”,名称空间“ http://schemas.datacontract.org/2004/07/IAmRedacted.Framework.WCF'。(System.Runtime.Serialization.DataContractSerializer.InternalReadObject(XmlReaderDelegator xmlReader,布尔verifyObjectName,DataContractResolver dataContractResolver)在System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions (XmlDictionaryReader阅读器,布尔verifyObjectName),位于IAmRedacted.WCF.ClientSite.LoadClientSiteData()
“ IAmRedacted.Framework.WCF”是我使用的旧名称空间声明,但由于已对其进行了简化,因此无法在任何地方找到对其的引用。
我不知道,因为我使用Windows服务作为主机,所以XML文件保存到/ windows而不是本地目录。无效的名称空间来自/ windows / syswow64中仍然存在的旧XML文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句