Bug 27510 - System.ServiceModel.ServiceKnownTypeAttribute is ignored.
Summary: System.ServiceModel.ServiceKnownTypeAttribute is ignored.
Status: NEW
Alias: None
Product: Class Libraries
Classification: Mono
Component: WCF assemblies (show other bugs)
Version: 3.12.0
Hardware: PC Windows
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2015-02-27 10:45 UTC by Dave
Modified: 2017-09-06 16:55 UTC (History)
1 user (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
VS2012 solution (80.71 KB, application/octet-stream)
2015-02-27 10:45 UTC, Dave
Details

Description Dave 2015-02-27 10:45:59 UTC
Created attachment 10089 [details]
VS2012 solution

When a WCF service implements a method which has a return type which is an interface, and the ServiceKnownType attribute is used to register the concrete implementation, it is ignored and a System.Runtime.Serialization.SerializationException is thrown.

When running the same code under .NET, it works fine.

The attached solution demonstrates the problem - when running in .NET it works, when running with mono you will see the following error when the server tries to respond:

Exception Type 'Common.ResponseImpl' is unexpected. The type should either be re
gistered as a known type, or DataContractResolver should be used.

The behaviour therefore seems to be different between mono and .NET, so I believe it is a bug.

Is anyone aware of a workaround other than re-implementing to not use interfaces as the return type?

Note You need to log in before you can comment on or make changes to this bug.