2012-01-18 62 views
3

我正在开发一个wcf项目无法创建抽象类?

在尝试用超过maxStringContentLength的大对象调用服务之前,一切都进行得很顺利。

来解决这个问题,我修改客户端和服务器端的配置文件,该值从默认的8192更改为2M

然后我得到的FaultException异常,说:“不能创建抽象类”,在调用我的服务,而之前我的任何服务代码被执行

异常的细节说,这可能是由IncludeExceptionDetailInFaults设置为true,并将其值创造了一个例外是System.MemberAccessException

好,由于出于某些地区原因,这不是确切的例外情况消息,我已经把它翻译成英文,意思是类似的东西

对这个问题有什么建议?谢谢

+0

我们需要一些更多信息才能解决这个问题。您能否请您发布您的服务合同和实施的代码? –

+0

您可以在配置文件中发布您的服务框架和服务配置吗? – Rajesh

+0

谢谢。这已经解决了。它实际上是我自己的代码中的错误。由于抽象数据契约在客户端转换为普通类,其中一些被错误地实例化。我认为这将是一个在我的配置文件中的问题,然后才意识到真正的问题,并且发现很多关于为什么wcf不支持服务器和客户端数据合同之间抽象性共享的争论 – weidi

回答

2

此问题已解决。原因是,如果您使用visual studio在客户端自动生成服务引用,那么在wcf服务器端定义为抽象类的数据契约将转换为具体类。那些具体的类可能会被无意识地实例化,这会导致运行时异常

+7

那么,有没有针对这个问题的具体解决方案/解决方法?通过阅读你的答案,我不知道我能做些什么。? – Stephan