Få adgang til web-tjenester localhost fra computer på netværket

Jeg forsøger at udvikle en iPhone-applikation til at forbruge en Web Service, der er skrevet i C#. Jeg ønsker at være i stand til at få adgang til den webside via localhost på min PC ( http://localhost:54053/Service1.asmx ), så jeg ikke er nødt til at skubbe Web Service lever endnu. Eventuelle anbefalinger om, hvordan man gør dette?

Mange tak.

Har du IIS på pc ‘ en?
Jeg gør det, jeg har tænkt mig at prøve den metode, der foreslås nedenfor. Tak til alle for det forslag.

OriginalForfatteren Sam Youtsey | 2010-01-21

4 svar

  1. 1

    Du bliver nødt til at bruge IIS på din udvikling maskine. Den indbyggede Cassini server binder direkte til 127.0.0.1, og er kun tilgængelige lokalt. For at få adgang til det fra en ekstern enhed, skal du oprette en vært i IIS. Cassini er en begrænsning til 127.0.0.1, og er ikke tilgængelige på afstand.

    Når du har en hjemmeside oprettet til at svare til en IP-adresse, der er ikke 127.0.0.1, og det er konfigureret til at betjene din nye web-service, så du kan bruge IP-adressen for at komme til det.

    OriginalForfatteren Joel Etherton

  2. 1

    Den indbyggede Cassini server binder direkte til 127.0.0.1, og er kun tilgængelige lokalt.

    Du kan prøve et trick
    Vedhæft et stik til din localhost web service-adresse som at

    var localSocket =new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                   localSocket .Connect(new IPEndPoint(IPAddress.Loopback, localPortnumber));

    Derefter binde en socket til IpEndPoint gerne, at

     Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    listener.Bind(new IPEndPoint(IPAddress.Any, 8080));

    Og derefter få adgang til din web service i en klient-server mode.

    Et komplet fungerende eksempel kan ses her.


    .

    OriginalForfatteren Humble Coder

  3. 0

    Første gøre det arbejde som

    http://localhost/Service1.asmx

    Til at gøre dette er du nødt til at gøre din web-service arbejder inden for det lokale IIS.

    Derefter finde Ip-adressen på din lokale maskine.

    http://www.whatismyipd.com

    Så være sikker på, at port 80 er åbne (Hvis du ikke er sikker på, hvordan du gør dette, kan du prøve at skifte til windows firewall er slået fra)

    Så kalder web-service med din IP-adresse, som er:
    http://xxx.xxx.xxx.xxx/Service.asmx

    Ingen grund til at køre det igennem IIS. Det handler om at have porten åben, at være 80 eller 54053.
    54053 vil ikke arbejde, fordi det er en Cassini-port. Cassini binder direkte til 127.0.0.1, og er ikke tilgængelige på afstand på den måde.

    OriginalForfatteren Aykut Akıncı

  4. 0

    Jeg antager, at du enten har en telefon, eller emulator, der kører på en mac. Dette betyder, at de ikke på samme maskine som din webservice, som er udviklet i asp.net.

    Du er nødt til at ændre “localhost” til en IP-computeren kan kontaktes på. Du kan gøre dette ved at køre “ipconfig”. Hvis mac ‘ en er på det samme lokale netværk som din service dette er sandsynligvis 192.x.x.x noget eller 10.x.x.x noget.

    F.eks.: http://192.168.1.20:54053/Service1.asmx ville være adressen på mit lokale netværk.

    Hvis du skal bruge en internet-adresse, det er meget mere komplekst, da du sandsynligvis nødt til at åbne firewall-porte og port forwarding på en gateway/router.

    OriginalForfatteren Mikael Svenson

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *