Dostaje następujące dane gdy odczytam je poprzez Stream a następnie je zdekoduje przy pomocy HttpUtility.UrlDecode.
event=Rally On&data={"hits":14,"total":40}
Moja metoda w WCF wygląda następująco:
public void GetData(Stream data)
{
var reader = new StreamReader(data);
string rallyCharityData = reader.ReadToEnd();
reader.Close();
reader.Dispose();
var decodeData = HttpUtility.UrlDecode(rallyCharityData);
InvokeCallback(decodeData);
}
Co zrobić aby zamiast parametru Stream pojawił się obiekt w C# ?
Próbowałem to zrobić następująco:
public string GetData(string Event, RallyCharityDataContract data)
[DataContract]
public class RallyCharityDataContract
{
[DataMember]
public RallyData Data { get; set; }
}
public class RallyData
{
public int Hits { get; set; }
public int Total { get; set; }
}
Ale wtedy wysłanie HTTP POST nie skutkuje uruchomieniem metody GetData. GetData zostaje wywołane tylko w sytuacji gdy wygląda w taki sposób:
public void GetData(Stream data)