Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se Swiftu. Zároveň využij výhodnou slevovou akci až 30 % zdarma při nákupu e-learningu - více informací.
swift week + discount 30
Avatar
Tadeáš Burda
Brigádník
Avatar
Tadeáš Burda :10.4.2020 21:08

Po nahratí stránky na server mi nastal problém že View sa nevygeneroval a vyhadzovalo mi to 404.ku . Chybu už som opravil o to mi nejde, ide o to že pri testoch vo VS mi to išlo normálne, chyba tam bola len keď sa to nahralo na server, lenže sa nedalo poznať čo tomu je, pretože mi to hodilo iba tú 404.ku, takže mi trvalo dosť dlho nato prísť keď že na PC mi to išlo normálne. Je možnosť ak mám prístup na hosting, tú stránku pustiť v debugg režime a poprípade odchytiť chybovú hlášku?

Zkusil jsem: V controlleri som do metód pridal try/catch blok a v catchy som odchytával chyby a nechal si ich zobrazovať cez utilitku na správičky pre usera, ale nie vždy mi to vyhodilo chybu. Niekedy to prešlo v pohode ale problém bol že vo ViewModely boli dáta v nesprávnej forme, lebo mi tak prišli z db na serveri a potom mi to nevygenerovalo ten View. Takže ani toto mi nepomohlo.

Chci docílit: Potreboval by som na serveri odchytiť chybu keď mi nejde vygenerovať View. Kde,,,čo...za­čo...prečo...čo­kolvek, lebo iba hláška že to nejde mi prd hovorí, ešte ak to mne na PC ide ;-( :-? Na serveri mam Win

 
Odpovědět
10.4.2020 21:08
Avatar
Jaroslav Smrž
Tvůrce
Avatar
Odpovídá na Tadeáš Burda
Jaroslav Smrž:11.4.2020 10:56

Chybové hlášky se ukládají do log file, takže tam si je dohledáš. Kdyžtak sem postni kód controlleru, modelu i view včetně názvů, jak je máš pojmenované, dále také startup.cs a pokud je problém při kliknutí na odkaz, tak i layout.cshtml. Obecně můžu říct, že pravděpodobně bude problém v nesprávně nakonfigurovaném routování.

{controller} / {action} / {id}
Editováno 11.4.2020 10:57
Nahoru Odpovědět
11.4.2020 10:56
/* Life runs on code */
Avatar
Tadeáš Burda
Brigádník
Avatar
Odpovídá na Jaroslav Smrž
Tadeáš Burda :11.4.2020 14:54

Tak už sem nato došel, ajkeď nechápem prečo to robylo. Problém byl v tejto časti:

foreach (Galery gallery in _context.Galeries)
            {
                IndexViewModel.Item item = new IndexViewModel.Item()
                {
                    Id = gallery.GaleryId,
                    NumbOfPict = _context.GaleryPictures.Where(gp => gp.GaleryId == gallery.GaleryId).Count(),
                    PubDate = gallery.PubDate,
                    Title = gallery.Title,
                    TitleSrc = GetTitlePicture(gallery.GaleryId)
                };

                model.Galleries.Add(item);
            }

Vadilo temu že čítam ve forcher z tabulky a zároven mám vtem vnorené čítanie z dalšej tabulky. Spravil sem to tak že sem si to načítal najprv do array a potom to to až prehnal v cykle. Ale stále nechápem čo tomu vadilo, kedže PC mi to spustil uplne v pohode ani warning nemam :-?

Ktemu Viewu: Aj nato sem dosel. Mam ta try/catch blok a odchitaval sem vínimky. Ak sem mal v catch bloku len

try
            {
                IndexViewModel model = new IndexViewModel();
                FillModel(model);

                return View(model);
            }
            catch (Exception e)
            {
                this.AddAlertToFront(new Alert($"Error Message: {e.Message}", EAlertType.danger));
            }

            return Redirect("/MyWeb/Home/Index/");

tak to vyhodilo chybu

There is already an open DataReader associated with this Command which must be closed first.

ale ak sem tam mal

try
            {
                IndexViewModel model = new IndexViewModel();
                FillModel(model);

                return View(model);
            }
            catch (Exception e)
            {
                this.AddAlertToFront(new Alert($"Error Message: {e.Message}", EAlertType.danger));
                this.AddAlertToFront(new Alert($"Error StackTrace: {e.StackTrace}", EAlertType.danger));
                this.AddAlertToFront(new Alert($"Error InnerException.Message: {e.InnerException.Message}", EAlertType.danger));
            }

            return Redirect("/MyWeb/Home/Index/");

tak to vyhodilo že stránka neexistuje lebo to asi nevygenerovalo. Tady si nejsem teš istý co je ve veci, nato sa budu muset este pozriet.

 
Nahoru Odpovědět
11.4.2020 14:54
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Tadeáš Burda
Brigádník
Avatar
Odpovídá na Jaroslav Smrž
Tadeáš Burda :11.4.2020 15:01

A kde na webe naj log súbor? Asi ťa úplne nechápem srry.

 
Nahoru Odpovědět
11.4.2020 15:01
Avatar
Jaroslav Smrž
Tvůrce
Avatar
Odpovídá na Tadeáš Burda
Jaroslav Smrž:11.4.2020 20:05

Tak hlavně, že máš vyřešeno. Jinak logy si zapneš v souboru web.config (pokud nejsou defaultně zapnuté) a tam si i můžeš nastavit kam se mají ukládat (název souboru). Ve vývoji to zas můžeš udělat v csproj souboru.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
11.4.2020 20:05
/* Life runs on code */
Avatar
Tadeáš Burda
Brigádník
Avatar
Odpovídá na Jaroslav Smrž
Tadeáš Burda :12.4.2020 12:09

Ok, díky za pomoc

 
Nahoru Odpovědět
12.4.2020 12:09
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.