Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Task-Manager

Alter Hase

  • »Task-Manager« ist der Autor dieses Themas

Beiträge: 1 087

Wohnort: am PC

Beruf: Student

  • Private Nachricht senden

1

28.06.2016, 15:01

C# System.Web.Services.WebService und dazu einen IHttpHandler?

Hallo Forum,

jetzt ist es mal echt wichtig und ich brauch Hilfe^^

ich arbeite gerade an einem Projekt in der uni und die Zeit ist leider echt knapp. Wir haben einen System.Web.Services.WebService-Projekt in C#. Das liefert ein Frontend (irgendwie ein total verkorkstes MVC, was sich nicht mehr wirklich um ein REST erweitern lässt.)
Ich muss jetzt in diese Projekt ein REST Interface einbauen (am besten domain.de/backendapi)... Kann ich dem "System.Web.Services.WebService" Projekt ohne weiteres einen IHttpHandler hinzufügen und somit einen zweiten "webserver" in dem Projekt starten, der parallel läuft und über diese Schnittstelle erreichbar ist?

LG,
TaskManager
falls ichs i-wo vergessen hab:

mfg
Task-Manager

Rechtschreibfehler sind mein Eigentum und gewollt!

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

2

28.06.2016, 15:42

Das wäre ein anderer Port, was Clientseitig (im Browser bei JavaScript-Aufrufen) zu Problemen führen könnte.
Ich weiß nicht, wie derzeitig das HTML generiert wird, aber könnte nicht auf eine vergleichbare Weise JSON generiert werden?
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Task-Manager

Alter Hase

  • »Task-Manager« ist der Autor dieses Themas

Beiträge: 1 087

Wohnort: am PC

Beruf: Student

  • Private Nachricht senden

3

28.06.2016, 16:42

ich habe das MVC Ding zum laufen bekommen und eine Web Api controller erstellt bekommen.
Leider ist das Ding total fürn Arsch. Zumindest ohne vernünftige Doku.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
namespace backend.Controllers
{
    public class loginController : ApiController
    {

        // GET: api/login
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET: api/login/5
        public string Get(int id)
        {
            return "value";
        }

        // POST: api/login
        public void Post([FromBody]string value)
        {
        }

        // PUT: api/login/5
        public void Put(int id, [FromBody]string value)
        {
        }

        // DELETE: api/login/5
        public void Delete(int id)
        {
        }
    }
}


unter meineUrl.de/api/login ist nun der GET erreichbar. Allerdings finde ich 0 Dokumentation dazu. (die MSDN Erklärungen sind wie immer SEHR hilfreich, kommt es nur mir so vor oder ist die meistens echt nicht zu gebrauchen?).
Keine Ahnung wie man hier die Header verarbeitet, oder wie so ein POST aussehen soll, den der akzeptiert. Ganz geschweige, wie ich hier z.B. bei einem POST oder GET den RückgabeWert festlege. (also den HTTP code)
falls ichs i-wo vergessen hab:

mfg
Task-Manager

Rechtschreibfehler sind mein Eigentum und gewollt!

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

4

28.06.2016, 18:41

Ich denke, die von ApiController geerbten Methoden sollten da hilfreich sein: MSDN-Dokumentation (1. Googletreffer)
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

MitgliedXYZ

Alter Hase

Beiträge: 1 369

Wohnort: Bayern

  • Private Nachricht senden

5

28.06.2016, 19:36

Ich hab auch schon mal mit C# die Web Api 2 benutzen dürfen :rolleyes:

Vielleicht hilft dir diese Dokumentation.

C#-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
[EnableCors(origins: "*", headers: "*", methods: "*", exposedHeaders: "X-Custom-Header")]
public class TestController : ApiController
{
    public HttpResponseMessage Get()
    {
        var resp = new HttpResponseMessage()
        {
            Content = new StringContent("GET: Test message")
        };
        resp.Headers.Add("X-Custom-Header", "hello");
        return resp;
    }
}

Task-Manager

Alter Hase

  • »Task-Manager« ist der Autor dieses Themas

Beiträge: 1 087

Wohnort: am PC

Beruf: Student

  • Private Nachricht senden

6

28.06.2016, 23:59

thx, dass mit dem CORS hab ich gerade gebraucht :D

mittlerweile läuft das REST :) Irgendwie war da vorhin der Wurm drin.
falls ichs i-wo vergessen hab:

mfg
Task-Manager

Rechtschreibfehler sind mein Eigentum und gewollt!

Werbeanzeige