Click here to Skip to main content
15,892,809 members

Passing a custom class using WCF/MSMQ

Ger Hayden asked:

Open original thread
Unable to cast object CPerson to ServiceReference.CPerson

CPerson is defined in its own assembly and is referenced throughout my application.

This is an extract form how my the contract on my Central Message Distribution Service is defined:

[ServiceContract(
Name = "CMDS_QueuedService"
)]

public interface ICMDS_QueuedService
{
    [OperationContract(IsOneWay = true)]
    void DistributeData(short arg_Installation_ID, CPerson arg_DataRow);
}

public class cCMDS_Contract : ICMDS_QueuedService
{
    [OperationBehavior(TransactionScopeRequired = true, TransactionAutoComplete = true)]
    public void DistributeData(short arg_Installation_ID, CPerson arg_DataRow)
    {
    //Do Stuff
    }
}


CPerson in the DistributeData arguments is the class defined in my standard assembly (Db_person.CPerson), but then I add a service reference to my Local Messasage Handler, it's type is now ServiceReference.CPerson and a cast will not work.

Considering this quote from Andrew Troelsen: "The ability to serialize objects is critical when you want to copy an object to a remote machine using various remoting technologies such as Windows Communication Foundation."

Are my options some form of copy constructor, am I looking at serialize / de serialize as above, or something else that I have not even considered?
Tags: C#, WCF, MSMQ

Plain Text
ASM
ASP
ASP.NET
BASIC
BAT
C#
C++
COBOL
CoffeeScript
CSS
Dart
dbase
F#
FORTRAN
HTML
Java
Javascript
Kotlin
Lua
MIDL
MSIL
ObjectiveC
Pascal
PERL
PHP
PowerShell
Python
Razor
Ruby
Scala
Shell
SLN
SQL
Swift
T4
Terminal
TypeScript
VB
VBScript
XML
YAML

Preview



When answering a question please:
  1. Read the question carefully.
  2. Understand that English isn't everyone's first language so be lenient of bad spelling and grammar.
  3. If a question is poorly phrased then either ask for clarification, ignore it, or edit the question and fix the problem. Insults are not welcome.
  4. Don't tell someone to read the manual. Chances are they have and don't get it. Provide an answer or move on to the next question.
Let's work to help developers, not make them feel stupid.
Please note that all posts will be submitted under the http://www.codeproject.com/info/cpol10.aspx.



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900