Mono消耗WCF服务失败ServiceClient Linux

时间:2013-07-08 06:34:47

标签: c# asp.net wcf ubuntu mono

我需要以下异常的帮助。我正在尝试使用basicHttpSecurity等来使用Web WCF Web服务。我看了一下Dev Pipe for Mono以及我正在使用的是在工作部分。

因此我尝试使用的服务是AccountService.svc。生成的代理具有我正在使用的AccountServiceClient()对象。在创建对象的行上,它会抛出异常,无法调试并单步执行该构造函数。

奇怪的是,我可以通过IIS在我的Windows机器上使用此服务。我也可以使用我的Mac PC使用mod单声道扩展等。但不是在Ubuntu Linux机器上。任何人都可以对此有所了解吗?任何人都可以解释为什么会这样吗?我该如何解决这个问题?

我创建了一个新的客户端实例。

client = new AccountServiceClient ();

AccountServiceClient()sniplet

public partial class AccountServiceClient : System.ServiceModel.ClientBase<EServicesAccountProxy.IAccountService>, EServicesAccountProxy.IAccountService

被抛出的异常。

System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (System.Reflection.Assembly,bool)
at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0 
at System.ServiceModel.Configuration.ConfigUtil.GetTypeFromConfigString (System.String name, NamedConfigCategory category) [0x00000] in <filename unknown>:0 
at System.ServiceModel.ChannelFactory.ApplyConfiguration (System.String endpointConfig) [0x00000] in <filename unknown>:0 
at System.ServiceModel.ChannelFactory.InitializeEndpoint (System.String endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) [0x00000] in <filename unknown>:0 
at System.ServiceModel.ChannelFactory`1[EServicesAccountProxy.IAccountService]..ctor (System.String endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) [0x00000] in <filename unknown>:0 
at System.ServiceModel.ClientBase`1[EServicesAccountProxy.IAccountService].Initialize (System.ServiceModel.InstanceContext instance, System.String endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) [0x00000] in <filename unknown>:0 
at System.ServiceModel.ClientBase`1[EServicesAccountProxy.IAccountService]..ctor (System.ServiceModel.InstanceContext instance, System.String endpointConfigurationName) [0x00000] in <filename unknown>:0 
at System.ServiceModel.ClientBase`1[EServicesAccountProxy.IAccountService]..ctor (System.ServiceModel.InstanceContext instance) [0x00000] in <filename unknown>:0 
at System.ServiceModel.ClientBase`1[EServicesAccountProxy.IAccountService]..ctor () [0x00000] in <filename unknown>:0 
at EServicesAccountProxy.AccountServiceClient..ctor () [0x00000] in <filename unknown>:0 
at TCShared.TCInsuranceSystem_EGW.GetAccount (TCShared.TCInsuranceSystemAccount objInsuranceSystemAccount) [0x00000] in <filename unknown>:0 

我注意到的一个奇怪的事情是我也得到了一个LoaderException(System.TypeLoadException)。我不知道它是否相关,因为消息说它无法从'Npgsql.VisualStudio,vserion = 2.0.2.1,culture-neutral,PublicKeyToken = null'加载类型'Npgsql.VisualStudio.NpgsqlObjectSelector'。我甚至没有使用VisualStudio,我在我的Windows机器上使用monodevelop和XamarinStudio。

她在异常消息中说来源是否来自“mscorelib”

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

原来有一个内部加载异常,我的bin中有一个Npgsql.VisualStudio DLL。一旦我删除了一切工作。由于缺少引用,Reflection无法加载该DLL。