Ich arbeite mit Visual Studio 2010 und .NET 4.0. Ich habe eine Webmethode erstellt und versuche sie mit einem komplexen Objekt (Klassenobjekt der Klasse) als Parameter aufzurufen, aber es wird der Fehler "Objektreferenz nicht auf eine Instanz eines Objekts gesetzt" gesetzt. Bitte hilf mir, es zu korrigieren. WCF ist als unten:So übergeben Sie komplexe Objekte an WCF
[ServiceContract]
public interface IService
{
[OperationContract]
void DoWork();
[OperationContract]
void RedirectDeposit(string TransactionId, Amount amount);
}
public class Service : IService
{
public void DoWork()
{
}
public void RedirectDeposit(string TransactionId, Amount amount)
{
string transactionId = "";
string tranAmount = "";
string tranCurrency = "";
string exchangeRate = "";
try
{
transactionId = TransactionId;
tranAmount = amount.Amt;
tranCurrency = amount.Currency;
exchangeRate = amount.Rate.ExRate;
}
catch (Exception ex)
{
Utility.LogMsg("Amount : " + ex.Message);
}
}
}
[DataContract]
public class Amount
{
[DataMember]
public string Amt { get; set; }
[DataMember]
public string Currency {get; set; }
[DataMember]
public ExchangeRate Rate { get; set; }
}
[DataContract]
public class ExchangeRate
{
[DataMember]
public string ExRate { get; set; }
}
Client-Aufruf ist wie folgt:
playtechsrv.ServiceClient service = new ServiceClient();
Amount amount = new Amount();
try
{
// Put user code to initialize the page here
amount.Amt = "10";
amount.Currency = "USD";
amount.Rate.ExRate = "1255"; // Error happen here
}
catch (Exception ex)
{
Utility.LogMsg(ex.Source);
}
Hallo, es funktioniert. Danke vielmals. – sithuwin
Gern geschehen. – khlr