FluorineFX object inhalt "benennen"

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Niklas_B..

    FluorineFX object inhalt "benennen"

    Hallo, ich arbeite daran eine desktop version einen Onlinespiels zu erstellen, welches (dank flash) im browser sehr langsam läuft.
    AMF request möchte ich in c# über FluorineFX senden. Nur gibt es da ein problem. Das spielt scheint zu fordern das ein text im object "Ticket" heißt.
    Kann sein das ich hier ziemlichen müll rede und der titel unpassend ist, aber ich weiß nicht wie ich es beschreiben soll.
    Daher hier erstmal zwei Bilder:

    So soll der request aussehen:



    So sieht er aus:


    Mein code bis jetzt:
    Spoiler anzeigen

    C#-Quellcode

    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Linq;
    7. using System.Text;
    8. using System.Threading.Tasks;
    9. using System.Windows.Forms;
    10. using FluorineFx.Net;
    11. using FluorineFx.Messaging.Api.Service;
    12. namespace BaumMann
    13. {
    14. public partial class Form1 : Form
    15. {
    16. public Form1()
    17. {
    18. InitializeComponent();
    19. }
    20. private void button1_Click(object sender, EventArgs e)
    21. {
    22. NetConnection netConnection = new NetConnection();
    23. netConnection.ObjectEncoding = FluorineFx.ObjectEncoding.AMF3;
    24. netConnection.Connect("http://ws.moviestarplanet.de:80/Gateway.aspx?method=MovieStarPlanet.WebService.MovieService.AMFMovieService.MovieWatched");
    25. // -----------Der interessante code-----------
    26. netConnection.Call("MovieStarPlanet.WebService.MovieService.AMFMovieService.MovieWatched", new GetCustomersHandler(), new object[] { "DE,28190067,1F2136B8-A99A-4D88-83F0-86DB6405C52B,2015-06-05T13:12:13,2hj4rtVoH0xYAHYcytfZJA==,9fe8593a8a330607d76796b35c64c600363738", "" }, "19869200", "28190067");
    27. // -----------Der interessante code-----------
    28. }
    29. }
    30. public class GetCustomersHandler : IPendingServiceCallback
    31. {
    32. public void ResultReceived(IPendingServiceCall call)
    33. {
    34. object result = call.Result;
    35. }
    36. }
    37. }

    Ich habe kein plan wie ich das machen soll.
    Ich hoffe jemand kann mir helfen. :/
    Hi,

    Versuche mal ein Dictionary zu nehmen und die Keys so zu benennen. Ich weiß aber nicht wie dein Framework das handlet.

    Folgender Code ist rein ausm Kopf geschrieben:

    C#-Quellcode

    1. Dictionary<string, object> dictionary = new Dictionary<string, object>(); // oder doch string,string?
    2. dictionary.Add("Ticket","DE...");
    3. dictionary.Add("anyAttribute",null);
    4. netConnection.Call("MovieStarPlanet.WebService.MovieService.AMFMovieService.MovieWatched", new GetCustomersHandler(),dictionary , 19869200, 28190067); //Zahlen sollten auch Zahlen sein, keine Strings
    "Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." Albert Einstein
    Danke, Funktioniert genauso wie es soll. :D

    EDIT: Aber noch eine frage. Wie bei dem ersten Bild zusehen, hat das eine Array "[0]" danneben auch noch einen namen,
    nämlich "MovieStarPlanet.Webservice.BaseWebservice...."
    weißt du auch wie man das macht? wäre dir sehr dankbar. :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Niklas_B.“ ()

    Du könntest mal testen, ob eine Klasse die du erstellt (Vorzugsweise mit irgendwelchen öffentlichen Properties) und dann übergibst, als Namespace+Klassenname auftaucht.

    Anscheinend ist das ein Objekt vom Typ TicketHeader.
    Musst mal schauen ob so ein Typ existiert.
    Wenn nicht, bin ich auch am Ende mit meinem Latein.
    "Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." Albert Einstein