C/C++ week November Black Friday
Black Friday je tu! Využij jedinečnou příležitost a získej až 80 % znalostí navíc zdarma! Více zde
Pouze tento týden sleva až 80 % na e-learning týkající se C/C++
Avatar
lafleur.aa
Člen
Avatar
lafleur.aa:27. července 21:49

Ahoj, ucim se MVC a snazim se zprovoznit aplikaci psanou v .net core na hostingu. Postupoval jsem podle skveleho serialu Martina Petrovaje https://www.itnetwork.cz/…net-core-mvc a na localhostu vse funguje. Jakmile ale uploaduju pomoci Visual Studia (release mod pomoci ftp) aplikaci na testovaci free hosting, nefunguji mi clanky ani login - vyhodi pouze error. Ostatni zalozky, ktere nevyzaduji pripojeni k databazi funguji. Urcite se jedna o problem s connection string, který jsem sice prepsal v souboru appsettings.json podle poskytovatele hostingu, ale porad nic. Aplikace pouziva Entity framework code first. Mohl by mi nekdo prosim poradit, jak mam postupovat? S entity frameworkem jsem se zde setkal poprve. Moc dekuji

Zkusil jsem: Google, StackOverflow, Youtube, metoda pokus - omyl

Chci docílit: pripojeni aplikace (code first) k mssql databazi na hostingu

Editováno 27. července 21:50
 
Odpovědět
27. července 21:49
Avatar
Vakos
Redaktor
Avatar
Odpovídá na lafleur.aa
Vakos:28. července 11:39

Ahoj, tak zkontroluj připojovací řetězec. Pokud tam píšeš localhost, tak to zkus změnit na 127.0.0.1, dost často to pomůže.

Editováno 28. července 11:39
Nahoru Odpovědět
28. července 11:39
"Jediný způsob, jak dělat skvělou práci, je milovat to, co děláte. Pokud jste to ještě nenašli, hledejte dál. Ne...
Avatar
lafleur.aa
Člen
Avatar
Odpovídá na Vakos
lafleur.aa:3. srpna 9:41

Na localhostu vše funguje, to neřeším. Jde mi o zprovoznění aplikace s databází na hostingu. Konkrétně free verze aspone.cz s MsSQL databází, která ovšem nemá povolené vzdálené řízení, tudíž mám vytvořené tabulky v MyLittleAdmin. Problémem je, jak databázi spárovat s aplikací .NET Core a Entity Frameworkem pomocí database first přístupu, když kvůli zakázanému vzdálenému řízení DB tabulky ve Visual Studiu neotevřu, ani se mi k databázi nepřipojím. Po spuštění NuGet příkazu na scaffold mi vyskočí pouze error, že k databázi se nelze připojit nebo nemá povolený remote controll, což nemá. Jak tedy mám postupovat? Ani v oficiální dokumentaci jsem nic nenašel na tento případ. Vše tam řeší přes server explorer, který já použít nemohu kvůli zakázanému vzdálenému řízení. Poraďte prosím někdo, už nevím, jak dál.

 
Nahoru Odpovědět
3. srpna 9:41
Avatar
Martin Petrovaj
Překladatel
Avatar
Odpovídá na lafleur.aa
Martin Petrovaj:3. srpna 11:58

Ak si to ešte neskúšal, tak skús zmeniť connection string podľa ich návodu.

Mimochodom, prečo publikuješ ASP.NET Core aplikáciu na starodávnom ASP.NET hostingu? Ak to pre teba bude znamenať jednoduchšiu správu, tak jednou z výhod .NET Core je tá, že už nie si obmedzený len na hostingy s Windowsom a IIS. Ak s tým budeš vedieť robiť, kľudne to podľa návodov od MS nahraj na Linuxový hosting s Apache alebo Nginx. Počítaj ale aj tou drobnosťou, že na typických hostingoch tohto typu v našich končinách nebude dostupný MS SQL server, takže budeš musieť zmeniť provider, ktorý v aplikácii používaš.

Pokiaľ chceš mať sám čo najväčšiu kontrolu nad tým, čo vlastne v prostredí na hostingu máš alebo nemáš, tak by ťa ešte mohol zaujímať Docker.

Nahoru Odpovědět
3. srpna 11:58
if (this.motto == "") { throw new NotImplementedException(); }
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
lafleur.aa
Člen
Avatar
Odpovídá na Martin Petrovaj
lafleur.aa:3. srpna 12:25

Moc děkuji za informace. To jsem ani netušil, že lze používat i na Apache. Teprve začínám s c# i .NET core. Učím se podle tvého tutoriálu na .NET Core a jak jsem psal, na localhostu vše běží perfektně. Jen ta publikace vázne. Zkoušel jsem i aspify hosting se stejným výsledkem (viz obrázek). Změnil jsem connection string v souboru appsettings.json na následující:

{
  "ConnectionStrings": {
    "MyConnection": "server=free.aspify.com;uid=db915;pwd=mojeHeslo;database=db915"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    }
  }

Dále jsem přidal ve Windows ASPNETCORE_EN­VIRONMENT s hodnotou Development a publikoval znovu, ale stále stejná chyba. Mohl bys mi prosím popsat postup pro publikování na jakýkoliv hosting, aby tato aplikace fungovala? .NET Core i Entity framework se mi hodně líbí kvůli jednoduchosti a přehlednosti, ale tato moje neschopnost rozchodit aplikaci na hostingu mě úplně ubíjí už. Skoro týden ležím v dokumentaci, fórech, tutoriálech a pořád jsem nenalezl řešení :-( Případně pokud další tvůj tutoriál (.NET Core E-Shop) obsahuje postup pro publikaci na webu, velice rád si ho hned zakoupím.

 
Nahoru Odpovědět
3. srpna 12:25
Avatar
Martin Petrovaj
Překladatel
Avatar
Odpovídá na lafleur.aa
Martin Petrovaj:3. srpna 13:24

Aby som bol úprimný, publikovanie / nasadzovanie aplikácií na takéto hostingy (aspoň teda manuálne) ide v práci už veeľmi dlho mimo mňa, ale ohľadom nastavenia tej premennej prostredia vyskúšať pár rád odtiaľto:
https://stackoverflow.com/…-asp-net-cor

Možno by som ešte vyskúšal upraviť aplikáciu (dočasne) tak, aby s databázou nepracovala vôbec. Aspoň by si si tým potvrdil, či je chyba naozaj s DB, alebo máš zle niečo iné.

Nahoru Odpovědět
3. srpna 13:24
if (this.motto == "") { throw new NotImplementedException(); }
Avatar
zelvicek
Člen
Avatar
Odpovídá na lafleur.aa
zelvicek:8. srpna 6:45

Ty potřebuješ hlavně jednoznačně zjistit, k jaké vyjímce dochází. Podívej se do svých logů. Hmm, tipuju, že nemáš.

Já bych postupoval takto:

  1. vytvořit novou prázdnou web aplikaci (ne MVC).
  2. přidat custom middleware jež otestuje žádanou funkcionalitu (connect do DB; nebo TCP connect na danou IP:port) v try/catch a daný exception ti jasně a úplně zobrazí (včetně .InnerException).
 
Nahoru Odpovědět
8. srpna 6:45
Avatar
lafleur.aa
Člen
Avatar
Odpovídá na zelvicek
lafleur.aa:8. srpna 8:06

Díky moc za radu. Vyzkouším a dám vědět, jestli se připojí nebo jakou výjimku vypíše.

 
Nahoru Odpovědět
8. srpna 8:06
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 8 zpráv z 8.