I have inherited a WCF RIA, Silverlight 4 application that has been dormant for a few years. It is assumed that the code is stable. To get it working I need to install dependencies which were not documented, as far as I can tell.
After installing dependencies based on what information I could gather I am left with the following error.
Operation named 'namereplaced' does not conform to the required signature. Parameter types must be an entity type or one of the predefined serializable types
I already tried uninstalling Ria Services as recommended here. WCF Ria Operation does not conform to the required signature but this leads to more errors.
I've also tried hunting down a specific version of the Ria Services Toolkit as suggest here, but no luck https://social.msdn.microsoft.com/Forums/silverlight/en-US/86f40859-18e8-4ce6-8d8a-a864fbe4e3ac/error-operation-named-createuser-does-not-conform-to-the-required-signature-parameter-types?forum=silverlightwcf
Additionally, I tried setting up a drop retrieved from the client's FTP in IIS and saw the following in the machine Event Log
: The service '/AppName/Services/SomeManager-Web-Services-ImportService.svc' cannot be activated due to an exception during compilation. The exception message is: Operation named 'namereplaced' does not conform to the required signature. Parameter types must be an entity or complex type, a collection of complex types, or one of the predefined serializable types.. ---> System.InvalidOperationException: Operation named 'namereplaced' does not conform to the required signature. Parameter types must be an entity or complex type, a collection of complex types, or one of the predefined serializable types.
However, using an old installer that the IT team found in the old developers files, I was able to set up an instance of the website which does not generate these errors, but is incompatible with the latest version of the database. I haven't found the source for the setup project in source control.
The method in question is defined as follows
[Invoke(HasSideEffects=true)]
public void NameReplaced(IEnumerable<ImportRecord> recs)
{
foreach (var item in recs)
{
UpdateImportRecord(item);
}
}
I'd ideally like to resolve this without trying to change the code as an investigation needs to be done on an error in the clients environment, then further updates are required.
EDIT: Included suggestion from Mark W,
public IQueryable<ImportRecord> GetImportRecords()
{
return null;
}
but the same build error is reported.