从另一台主机中的WPF xbap客户端应用程序调用WCF服务时出现问题

时间:2012-10-30 12:24:43

标签: wpf wcf xbap

我是WCF的新手,我开发了一个返回带有必需值的字符串的WCF服务,我在同一台计算机上的IIS中发布它然后我创建了一个WPF客户端应用程序,我在调试模式下测试它并且工作了好吧,我尝试在IIS中发布客户端应用程序并在同一台机器上测试它,一切都很好,这是一个完全信任的应用程序。

问题是,当我尝试在另一台机器上执行客户端应用程序时,事情就是从机器上我可以访问该服务:

http://ip_address/OASWS.Utilities/Service1.svc

并且没有问题,我可以执行该应用程序:

http://address/OASWS.Utilities.BrowserClient/UtilitiesBrowserClient.xbap

并且应用程序执行没有问题,但是当应用程序尝试从服务执行任何功能时,我得到以下错误:

Startup URI: http://ip_address/OASWS.Utilities.BrowserClient/UtilitiesBrowserClient.xbap

Application identity: http://ip_address/OASWS.Utilities.BrowserClient/UtilitiesBrowserClient.xbap#UtilitiesBrowserClient.xbap, Version=1.0.0.5, Culture=neutral, PublicKeyToken=5273a5e76684b5e7, processorArchitecture=msil/UtilitiesBrowserClient.exe, Version=1.0.0.5, Culture=neutral, PublicKeyToken=5273a5e76684b5e7, processorArchitecture=msil, type=win32

System.Runtime.Serialization.SerializationException:从程序集'System.ServiceModel,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'中键入'System.ServiceModel.Channels.ReceivedFault'未标记为可序列化。    在System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType类型)    在System.Runtime.Serialization.FormatterServices.GetSerializableMembers(Type type,StreamingContext context)    在System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo()    在System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object obj,ISurrogateSelector surrogateSelector,StreamingContext context,SerObjectInfoInit serObjectInfoInit,IFormatterConverter converter,ObjectWriter objectWriter)    在System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(Object obj,ISurrogateSelector surrogateSelector,StreamingContext context,SerObjectInfoInit serObjectInfoInit,IFormatterConverter converter,ObjectWriter objectWriter)    在System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Write(WriteObjectInfo objectInfo,NameInfo memberNameInfo,NameInfo typeNameInfo)    at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph,Header [] inHeaders,__BinaryWriter serWriter,Boolean fCheck)    在System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream,Object graph,Header [] headers,Boolean fCheck)    在System.Runtime.Remoting.Channels.CrossAppDomainSerializer.SerializeObject(Object obj,MemoryStream stm)    在System.AppDomain.Serialize(Object o)    在System.AppDomain.MarshalObject(Object o)

我不知道可能发生的事情或该错误来自何处,因为服务返回的只是一个简单的字符串。

有没有人有任何想法?

谢谢!

1 个答案:

答案 0 :(得分:0)

我看到类似的行为,当WCF服务中的代码抛出除FaultException之外的异常时 - 再次,仅在XBAP中。