Java týden Java týden
Aprílový black friday tě nenechá v klidu! Až 80 % prémiového obsahu zdarma. Více informací
Pouze tento týden slevy až 80 % na programování v Javě

Diskuze: Použití WebApi na webu

C# .NET .NET (C# a Visual Basic) Použití WebApi na webu American English version English version

Aktivity (3)
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:3.11.2018 20:58

Zdravím programuji v .net mvc a mám následující problém. Mám jeden projekt, což je můj web a druhý projekt což je moje webapi. Vím že si můžu dát webapi do projektu a bylo by po problémech, ale já chci todle api používat ve více projektech mělo by to být frameworkový api. A nyní k problému. WebApi mi běží na localhost:xxx a Web na localhost:yyy no a já chi ze svého webu provolat api, což je problém protože nemůžu napsat localhost:xxx/a­pi/test logicky by s tím byly problémy po nasazení atd. Je tedy jediná možnost si udělat nějakou sdílenou složku, kde budu mít to api a vložit si to dfo toho webu? Nejde to i nějak jinak? Předem díky za info

Zkusil jsem: Koukal jsem po internetu, ale přesně nevím jak ten problém popsat.

Chci docílit: Správne funknočsit apliace

 
Odpovědět 3.11.2018 20:58
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:4.11.2018 10:05

Nikdo nevite?

 
Nahoru Odpovědět 4.11.2018 10:05
Avatar
Ilja Židkov
Člen
Avatar
Ilja Židkov:4.11.2018 19:16

Myslím, že to, co potřebuješ, je CORS (Cross Origin Resource Sharing).

Editováno 4.11.2018 19:16
 
Nahoru Odpovědět 4.11.2018 19:16
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:5.11.2018 11:09

Nepouzivam asp net. Funguje to podobne jako php. Takze ti to zkusim popsat na php.
Kdyz chces, aby ti server prelozil php soubor na html kod, tak musi na serveru bezet php-dekoder (sluzba). Tomu programu posilas vsechny soubory s priponou php. (obdobne asp net)
Server muzes mit na svem pc nebo nekde na internetu.

Server na tvem pc ma ip adresu 127.0.0.1. Win ma zapnuty DNS server, ktery ti tu adresu preklada z textu 'localhost' na ip '127.0.0.1'
C:\Windows\Sys­tem32\drivers\et­c\hosts
127.0.0.1 localhost

Server venku ma ip adresu registrovanou u registratora domen. Inetovy DNS pak vsechno na tu adresu nebo domain-name smeruje na tvuj pc. Bez registrace tvuj pc v podstate neexistuje, je skryty za firewallem poskytovatele tveho inet pripojeni.
Jsou samozrejme ruzne zpusoby, jak to obejit s vyuzitim ruznych inet sluzeb.

  • Cili, pokud chces neco sdilet s internetem venku, musis mit registrovanou ipadresu, pod kterou muze ke tvemu stroji host z venci pristupovat.
  • Muzes si treba nekde koupit .net sluzbu a pouzivat jejich servery, kam nahrajes svoje stranky.
  • A potom jsou ruzne tunelovaci sluzby, kterymi si otevres port na pc.

Pokud to simulujes jen u sebe, pro sebe, pak staci tvemu pc zadat nejakou pevnou ip adresu. A prenastavit si router tak, aby tuto adresu neprideloval zadnemu dalsimu pc. Pak z jineho pc na stejnem routeru muzes pristupovat ke svemu pc pomoci teto adresy.
Samozrejme si muzes na routeru nastavit i DNS smerovani, prekladat textovy retezec na ip adresu. Ale, to uz je navic.
Vypada to pak tak, ze mas treba
10.0.0.1:8080/xx­.asp (ted mas localhost/xx.asp)


No, a pak je tu takove reseni na cizim serveru, kdy potrebujes s vymenovat informace. Program nahrajes na externi server a na svem pc mas textovy web-browser a nejaky exe (nebo to muze byt i bat, php, to uz je jedno), ktery spoustit treba pravidelne kazdych 5 min, ktery zavola textovy browser, ten vrati txt z nejake stranky a ty podle toho mu posles treba data zpet opet zavolanim toho textoveho browseru. (bohuzel si ted nevybavim priklad, nazev programu, tusim curl).
V podstate podobne funguje php file_get_contents (stahne soubor z url). Jen musis tomu programu rici, ze musi bezet neustale.
V php se da vytvorit socket server. Ktery je vlastne takova sluzba, ktera bezi, dokud nespadne nebo neskonci php nebo se neusela restart.
To je ale opacna cesta nez potrebujes.


No, nevim, zda nepisi ted uplne mimo, zda to treba nejak asp neresi jinak. Ale tak zhruba bych to resil ja.

 
Nahoru Odpovědět 5.11.2018 11:09
Avatar
jozef_i
Člen
Avatar
Odpovídá na Petr Kasnal
jozef_i:5.11.2018 12:49

To čo je vo webapi dať do knižnice dll a tú nakopírovať do projektu a nareferencovať...

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 5.11.2018 12:49
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na Ilja Židkov
Petr Kasnal:5.11.2018 12:50

Ahoj díky za odpověď vypadá to dobře, ale asi to nebude ono, pokud to tedy nedělám blbě... Myslím si, že to není přesně to co potřebuju... Jasně no tk ten způsob s nakopírování DLL je téměř stejný jako natavi tu sdílenou složku. Jenom mě štve, že to nejde nějak odděleně ale chápu no...

 
Nahoru Odpovědět 5.11.2018 12:50
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.