webForumDet fria alternativet

Asp.net och Google

12 svar · 796 visningar · startad av yador

yadorMedlem sedan mars 2004455 inlägg
#1

Hejsan alla!
Hur läser google(och andra sökmotorer) asp.net sidor?
jag menar om man t ex skriver ut hela sin meny med response.write() kommer den då hitta länkarna i den med mera och sådana saker.

Tack på förhand.

AddeladdeMedlem sedan jan. 20013 406 inlägg
#2

Sökmotorn får den kod som asp.net genererar.
Dock kan det vara problem om den behöver en querystrings för att visa rätt menyobjekt osv.

hopparnMedlem sedan nov. 20011 551 inlägg
#3

Addeladde skrev:

Dock kan det vara problem om den behöver en querystrings för att visa rätt menyobjekt osv.

Vi diskuterade detta med google när vi fick en offert av dem i ett annat sammanhang. det smidigaste man kan göra är att skicka med hela namnet på, i ditt fall, menyobjektet. Man behöver ju inte ta hand om den variablen i querystringen men man får en juste indexering. I och för sig skall google följa och tolka alla sidor på nivå ett och detta trick är bäst då man vill att google skall gräva djupare än första nivån på ens site :)

mvh
Hoppis

yadorMedlem sedan mars 2004455 inlägg
#4

Okej, det var bra att veta för jag har läst att sökmotorer har ibland svårt för att läsa visa sidor som skapas via vissa serverspråk som t ex asp.net. Så jag var lite misstänksam, men Tack.

GladhMedlem sedan maj 20012 812 inlägg
#5

yador skrev:

ut hela sin meny med response.write() kommer den då hitta länkarna i den med mera och sådana saker

Om du skriver ut saker på din sida med response.write() i från en asp.net sida, så hoppas jag att Goggle slänger ut din sida från internet och gör en DOS attack mot din server.

Det är en FET NO NO att använda sig av response.write() i asp.net. Om du gör det så har du inte förstått asp.net och använder inte det på ett optimalt sätt. Gör om, gör rätt ;)

- M

yadorMedlem sedan mars 2004455 inlägg
#6

Alltså, jag har ingen sida på asp.net sida på internet än för jag håller på och lära mig asp.net. Så det med att jag har inte förstått innebörden hur man använder asp.net stämmer nog. Men hur gör många stora asp.net drivna sajter då. Dem skriver ju knappast ut menyn på varenda sida så om dem vill ändra i den så måste den personen som har den ändra på varenda sida.

Och det med att skriva ut hela sin meny med response.write menade jag egentligen att använda sig av <asp:label .....> och sedan vid page_load sätta ditt alla meny länkar. Men det ser jag som samma sak.

Men förklara, hur gör man?

emissionMedlem sedan dec. 19996 721 inlägg
#7

yador skrev:

Okej, det var bra att veta för jag har läst att sökmotorer har ibland svårt för att läsa visa sidor som skapas via vissa serverspråk som t ex asp.net. Så jag var lite misstänksam, men Tack.

Rent teoretisk finns ingent sådant samband. ASP.NET m.fl är just serverspråk och Google läser den genererade klientkoden.

I praktiken finns det ett visst samband. T.ex kan viewstate-fältet ligga i vägen.

http://www.google.com/search?q=move+viewstate&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:en-US:official

freguzMedlem sedan feb. 2005280 inlägg
#8

yador skrev:

Dem skriver ju knappast ut menyn på varenda sida så om dem vill ändra i den så måste den personen som har den ändra på varenda sida.

Helt rätt.

Jag brukar lägga menyn i en användarkontroll (ascx) som placeras i Mastersidan, alternativt på varje aspx. Allt som skall återanvändas skall det göras "moduler" av tycker jag. Ett alternativ till ascx kan ju vara att göra en egen kontroll (ärv från control) som overridar render och htmlTextWrite:ar ut menyn (eller vad det nu är man vill visa)

VictorYMedlem sedan dec. 2004135 inlägg
#9

Gladh skrev:

Om du skriver ut saker på din sida med response.write() i från en asp.net sida, så hoppas jag att Goggle slänger ut din sida från internet och gör en DOS attack mot din server.

Det är en FET NO NO att använda sig av response.write() i asp.net. Om du gör det så har du inte förstått asp.net och använder inte det på ett optimalt sätt. Gör om, gör rätt ;)

Jag antar att du syftar på att Microsoft tycker att man ska använda deras sk. webbkontroller?
I så fall anser jag att du har väldigt fel. Det är så långt ifrån "optimalt" det kan bli att använda dess kontroller.

För det första blir resultatet ganska dåligt, koden kontrollerna genererar kommer inte följa w3s rekommendationer.
Dels är den kod dessa kontroller genererar onödigt stor, samma data återfinns ofta i samma dokument flera gånger - på lite olika sätt.
Dessutom är dessa kontroller otroligt resurskrävande, och anstränger servern långt mer än nödvändigt.

Vilket innebär att en webbplats med många besäkare, som inte kan förfoga över en hel serverpark - inte kan använda dessa kontroller.
Det innebär också att en webbplats med modemanvändare, eller användare som av andra skäl inte vill ta emot mer data än absolut nödvändigt - inte kan använda dessa kontroller.
Samt att det innebär att webbplatser som av olika skäl måste följa w3s rekommendationer - inte kan använda dessa webbkontroller.

Fördelen med webbkontroller är att det i princip går väldigt snabbt att utveckla sidan. Nackdelarna är att det i praktiken kommer gå långsammare och att resultatet egentligen är oanvändbart annat i interna nätverk. Men i övrigt är webbkontroller jättebra.

(Å andra sidan bör man naturligtvis inte använda ASP.NET precis som vanlig ASP, .NET-ramverket är oerhört kraftfullt, och genom att utnyttja det stöd för objektorientering som finns, kan man få långt bättre resultat på ett betydligt trevligare sätt än med till exempel ASP.)

emissionMedlem sedan dec. 19996 721 inlägg
#10

VictorY skrev:

Jag antar att du syftar på att Microsoft tycker att man ska använda deras sk. webbkontroller?

Det är inte bara Microsoft som tycker det.

VictorY skrev:

För det första blir resultatet ganska dåligt, koden kontrollerna genererar kommer inte följa w3s rekommendationer.

Åh jo, det kan de definitivt göra om man vill det.

VictorY skrev:

Dels är den kod dessa kontroller genererar onödigt stor, samma data återfinns ofta i samma dokument flera gånger - på lite olika sätt.

Inte det heller, om man inte vill det. Man måste ta kontroll över kontrollanvändandet, men vet man vad man göra kan man bygga mycket effektiva sidor.

VictorY skrev:

Dessutom är dessa kontroller otroligt resurskrävande, och anstränger servern långt mer än nödvändigt.

Exempel?

VictorY skrev:

Vilket innebär att en webbplats med många besäkare, som inte kan förfoga över en hel serverpark - inte kan använda dessa kontroller.

Pyttsan! Det går alldeles utmärkt.

VictorY skrev:

Det innebär också att en webbplats med modemanvändare, eller användare som av andra skäl inte vill ta emot mer data än absolut nödvändigt - inte kan använda dessa kontroller.

Det är riktigt att man bör hoppa över stora GridViews med fullt påslagen ViewState etc., men som sagt, det handlar om att ta kontroll över kontrollerna, vilket inte är svårt alls.

VictorY skrev:

Fördelen med webbkontroller är att det i princip går väldigt snabbt att utveckla sidan. Nackdelarna är att det i praktiken kommer gå långsammare och att resultatet egentligen är oanvändbart annat i interna nätverk.

Visst finns det kontroller som är mindre än optimalt uppbyggda, för prestanda, men det är en naturlig och acceptabel förlust för ett effektivare utvecklingsflöde. Att det skulle vara oanvändbart annat än i interna nätverk är ren BS. Det finns så oerhört många bevis på nätet på att det fungerar alldeles utmärkt, så det behöver knappast vidare argument.

VictorYMedlem sedan dec. 2004135 inlägg
#11

Det här börjar ju bli intressant. =)

emission skrev:

Det är inte bara Microsoft som tycker det.

Nej, men Microsoft tycker det?

emission skrev:

Åh jo, det kan de definitivt göra om man vill det.

Exempel?

emission skrev:

Inte det heller, om man inte vill det. Man måste ta kontroll över kontrollanvändandet, men vet man vad man göra kan man bygga mycket effektiva sidor.

Exempel?

emission skrev:

Exempel?

emission skrev:

Pyttsan! Det går alldeles utmärkt.

Ber att få återkomma (har tyvärr slarvat bort några intressanta bokmärken, men hoppas på Google).

emission skrev:

Det är riktigt att man bör hoppa över stora GridViews med fullt påslagen ViewState etc., men som sagt, det handlar om att ta kontroll över kontrollerna, vilket inte är svårt alls.

Exempel?

emission skrev:

Visst finns det kontroller som är mindre än optimalt uppbyggda, för prestanda, men det är en naturlig och acceptabel förlust för ett effektivare utvecklingsflöde.

Hur vida det är en acceptabel förlust eller inte beror väl på, ibland är det säkert det, men långt ifrån alltid. Men här konstaterar du själv att webbkontroller kan innebära prestandaproblem.

emission skrev:

Att det skulle vara oanvändbart annat än i interna nätverk är ren BS.

Visst, det går självklart att använda till publika sidor, men ASP.NET bygger på idén att utvecklaren inte behöver kunna något om webbutveckling. De har försökt få ASP.NET att bli så likt "vanlig" programering (utveckling av Windows-program, med Microsoft.Windows.Forms) som möjligt. Tyvärr håller den idén inte riktigt. Inte nog med att man måste kunna både Windows-programmering och webbutveckling, man måste dessutom lära sig hur man motverkar alla problem som uppstår. Här någonstans känns det som att det borde finnas en bättre lösning?

emission skrev:

Det finns så oerhört många bevis på nätet på att det fungerar alldeles utmärkt, så det behöver knappast vidare argument.

Antagligen, men visa gärna ett exempel på en ASP.NET-sida som använder webbkontroller där: Koden följer w3s rekommendationer och där sidan inte skickar mer data än absolut nödvändigt.

Jag är medveten om att jag överdrev vissa saker, jag menar inte att webbkontroller alltid är helt oanvändbara, men jag hävdar att det är enklare att få ett bra resultat utan.

Ytterligare en sak uppstår när man använder dessa webbkontroller, och det är "mystiska fel". Vet inte hur mycket tid jag lagt ner på att hitta mystiska fel i ASP.NET-applikationer som använder webbkontroller, något jag aldrig råkar ut för i .NET-programmering annars.

emissionMedlem sedan dec. 19996 721 inlägg
#12

VictorY skrev:

Nej, men Microsoft tycker det?

Ja, definitivt.

VictorY skrev:

Exempel?

http://msdn2.microsoft.com/en-us/library/aa479043.aspx
http://www.asp.net/cssadapters/

VictorY skrev:

Exempel?

Det är mer ett generellt åtagande att veta hur kontrollerna fungerar, och anpassa sina metoder efter det.

VictorY skrev:

Hur vida det är en acceptabel förlust eller inte beror väl på, ibland är det säkert det, men långt ifrån alltid. Men här konstaterar du själv att webbkontroller kan innebära prestandaproblem.

De kan innebära att prestanda blir något sämre än om man själv tar över hela renderingcykeln.

VictorY skrev:

Visst, det går självklart att använda till publika sidor, men ASP.NET bygger på idén att utvecklaren inte behöver kunna något om webbutveckling. De har försökt få ASP.NET att bli så likt "vanlig" programering (utveckling av Windows-program, med Microsoft.Windows.Forms) som möjligt. Tyvärr håller den idén inte riktigt. Inte nog med att man måste kunna både Windows-programmering och webbutveckling, man måste dessutom lära sig hur man motverkar alla problem som uppstår. Här någonstans känns det som att det borde finnas en bättre lösning?

Man har ingen direkt nytta av att kunna Windows-programmering när man bygger ASP.NET. Skillnaderna är enorma. Jag kan hålla med om att vissa designbeslut av Microsoft är lite väl anpassade till "rita-klicka-spring-programmerare" (myntat av Gladh), men den grundläggande arkitekturen är sund och konceptet med web controls blir inte sämre av det faktum att det finns ett gäng mindre bra kontroller.

VictorY skrev:

Antagligen, men visa gärna ett exempel på en ASP.NET-sida som använder webbkontroller där: Koden följer w3s rekommendationer och där sidan inte skickar mer data än absolut nödvändigt.

Vad är absolut nödvändigt? CSS Adapter-sidan ovan är ett bra exempel. MySpace (brrr...) börjar gå över till ASP.NET, med kontroller.

VictorY skrev:

Jag är medveten om att jag överdrev vissa saker, jag menar inte att webbkontroller alltid är helt oanvändbara, men jag hävdar att det är enklare att få ett bra resultat utan.

Hur?

VictorY skrev:

Ytterligare en sak uppstår när man använder dessa webbkontroller, och det är "mystiska fel". Vet inte hur mycket tid jag lagt ner på att hitta mystiska fel i ASP.NET-applikationer som använder webbkontroller, något jag aldrig råkar ut för i .NET-programmering annars.

Det är inget jag upplevt, men YMMV. Tur då att det finns forum som detta.

GladhMedlem sedan maj 20012 812 inlägg
#13

VictorY skrev:

Jag antar att du syftar på att Microsoft tycker att man ska använda deras sk. webbkontroller?
I så fall anser jag att du har väldigt fel. Det är så långt ifrån "optimalt" det kan bli att använda dess kontroller.

Jag måste säga att du är den förste jag stött på som verkligen rekomenderar en att inte använda sig av serverkontrollerna. Och som Emisson sa, så är det bra fler än Microsoft som rekomnederar en att använda dem. Tror faktiskt inte jag varit på ett enda seminarium / kurs där man har rekomenderat att man inte skall använda sig av dem.

VictorY skrev:

För det första blir resultatet ganska dåligt, koden kontrollerna genererar kommer inte följa w3s rekommendationer.

Det är något som gällde för .NET 1.0/1.1. I och med .NET 2.0 så skall denna valideras mot XHTML 1.1. Och sidorna skall utan problem gå igenom en w3c validator, microsoft fick rätt mycket skit för att .NET 1.0/1.1 inte validerades default, utan det krävde hack för att lösa det, så det är ändrat till 2.0.

victorY skrev:

Dels är den kod dessa kontroller genererar onödigt stor, samma data återfinns ofta i samma dokument flera gånger - på lite olika sätt.

Nu förstår jag dig inte, menar du att en <asp:Label id="1">Magnus</asp:Label> genererar mer kod än <div id="1">Magnus</div>. Jag är ganska övertygad att det genereras så mycket kod från en asp:label som det blir om du hackar in <div> själv.

VictorY skrev:

Dessutom är dessa kontroller otroligt resurskrävande, och anstränger servern långt mer än nödvändigt.

otroligt resurskrävande? Om du verkligen tror på det, så hoppas jag att du aldrig någonsin kallar på en databas för att hämta upp data till din sidor, för med din egna ord, så skulle detta vara någon av det mesta resurskrävande som en dator någonsin skulle göra och bör endast utföras av extrema superdatorer.

Att det krävs någon extra processorcyklar för att använda sig av en asp:label jämfört med en div, är uppenbart, och därför finns det ingen som helst anledning att använda sig av en asp:label om man kan klara sig med en div-tag. Men otroligt resurskrävande, kom igen, jag tror inte ens du skulle märka det på en gammal 486:a.

victory skrev:

Vilket innebär att en webbplats med många besäkare, som inte kan förfoga över en hel serverpark - inte kan använda dessa kontroller.
Det innebär också att en webbplats med modemanvändare, eller användare som av andra skäl inte vill ta emot mer data än absolut nödvändigt - inte kan använda dessa kontroller.

Vet du varför man har viewstaten på sidan, med hjälp av denna information så kan du bland annat spara prestanda på servern, eftersom du inte behöver efterfråga information igen, den finns med i data som sänds till dig. Så med andra ord så får du alltså en mer prestandasnål site med dessa webbkontroller än utan dem. Nu står man dock inför ett annat dillema och det är som du påpekar att trafikmängden nu ökar. Vilket kanske inte är någon bra lösning, eller så gör det inget eftersom jag sitter med en långsamm server med en 10 GB lina till internet.

victory skrev:

Fördelen med webbkontroller är att det i princip går väldigt snabbt att utveckla sidan. Nackdelarna är att det i praktiken kommer gå långsammare och att resultatet egentligen är oanvändbart annat i interna nätverk. Men i övrigt är webbkontroller jättebra.

Jag börjar funderar på om vi verkligen menar samma sak när vi säger webbkontroller? Påstår du verkligen att av alla de miljontals asp-net siter som finns på nätet, egentligen är helt oanvändbara? Jag tror inte du har förståt styrkan med webbkontrollerna. En otroligt stor fördel med webbkontrollerna är ju att de kan anpassa sin renderade slutkod till vilken läsare som kallar på sidan. Jag kan med andra ord skriva en ASP-NET sida, som skall fungerar IE5 eller en Netscape 2.0 eller varför inte en WAP-läsare. Det är helt enkelt motorn som bestämmer vad det är för kod som skall genereras utifrån vilken läsare som används. Valideringskontrollerna är ett utmärkt exempel på detta.

Sedan så är jag nyfiken på om du inte använder dig av webbkontrollerna, vad gör du då istället, sitter du och genererar din egen HTML-kod i din code-behind fil? Säg att du vill presentera data från en databas tabulärt på en sida? Genererar du upp en table-strucktur själv i din code-behind med en stringbuilder och sedan skickar ut det som en respone.write? Jag är mycket nyfiken på hur en ASP.NET sida ser ut som du gjort.

victory skrev:

.NET-ramverket är oerhört kraftfullt, och genom att utnyttja det stöd för objektorientering som finns, kan man få långt bättre resultat på ett betydligt trevligare sätt än med till exempel ASP

Tja att bara använd sig av objektorienterade biten är ju inte så mycket vinst om du inte tänker använda dig av det fullt ut, alltså använda de objekt som MS har byggt till dig, det som jag ser som ASP.NET's starkast sida, är inte OOP utan den eventhantering som sker (samt alla kontroller som MS/Jag gjort).

Det hela slutar allt tid med en avvägning mellan olika saker! Oftas så väger man utvecklingshastighet mot återanbarkod, man väger prestanda mot skalbarhet, man väger trafikmängd mot serverkraft osv osv... när man har satt upp alla dessa kriterier så får man fram vad som är vitigt för just detta projekt och väljer sina lösningar därefter. Men inte i ett enda projekt som jag har gjort har man valt bort webkontrollerna för att hanterar renderingen själv....

- M

141 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)