15

Debugging (Silverlight + SQL Server)

Embed Size (px)

DESCRIPTION

Slides from the Bleeding Edge 2009 talk I had with my fellow SQL Server MVP.

Citation preview

Page 1: Debugging (Silverlight + SQL Server)
Page 2: Debugging (Silverlight + SQL Server)

ANDREJ TOZONMVP: Client Application Development

ANT Andrej Tozon s.p., Ljubljana

MATIJA LAHMVP: SQL Server

Mi Lambda Matija Lah s.p., Ljubljana

Razhroščevanje

Page 3: Debugging (Silverlight + SQL Server)

O REŠITVI

Silverlight

Spletna storitev

SQL

Server

Internet

Page 4: Debugging (Silverlight + SQL Server)

Collection?

http://www.bleedingedgeshoppe.com

http://bleedingedgeshoppe.com

<baseAddressPrefixFilters>

<add prefix="http://www.bleedingedgeshoppe.com" />

</baseAddressPrefixFilters>

Page 5: Debugging (Silverlight + SQL Server)

Vračanje napak s strežnika

Možnost A

Napiši razširitev obnašanja končne točke

http://tinyurl.com/sl3faults

Možnost B

Komunikacijo naj prevzame Silverlight

Vklop z registracijo spletnega naslovaWebRequest.RegisterPrefix

("http://", WebRequestCreator.ClientHttp)

Page 6: Debugging (Silverlight + SQL Server)

Razhroščevanje SQL

Tipične težave

Odkrivanje

Odprava

Page 7: Debugging (Silverlight + SQL Server)

Tipične težave

Varnostne nastavitve

Razlike med razvojnim in produkcijskim okoljem

Logične napake

OUTER JOIN

NULL

Page 8: Debugging (Silverlight + SQL Server)

Odkrivanje napak

Raje preprečiti kot zdraviti

Mnogim težavam se je mogoče izogniti

Osnova

Razumevanje poslovnega problema

Razumevanje teorije

Razumevanje orodij in tehnologij

Page 9: Debugging (Silverlight + SQL Server)

RazumevanjeOUTER JOIN

Kako deluje?Vrstni red je pomemben

Kdaj uporabiti?

Kdaj “ne deluje”?

NULL

Kaj je NULL?

Je NULL enako NULL?Je NULL različno od NULL?

IS NULL, ISNULL(), COALESCE()

Page 10: Debugging (Silverlight + SQL Server)

Odprava napak

Demo

Naj OUTER ostane OUTER

IS [NOT] NULL

Page 11: Debugging (Silverlight + SQL Server)

Vračanje napak s strežnika

Možnost A

Napiši razširitev obnašanja končne točke

http://tinyurl.com/sl3faults

Možnost B

Komunikacijo naj prevzame Silverlight

Vklop z registracijo spletnega naslovaWebRequest.RegisterPrefix

("http://", WebRequestCreator.ClientHttp)

Page 12: Debugging (Silverlight + SQL Server)

Brskalnik : Silverlight

Silverlight podpira vse statusne kode

Brskalnik le 200 OK in 404 Not Found

Silverlight podpira več metod HTTP

Poleg GET in POST tudi PUT in DELETE

REST

Silverlight dovoli upravljanje s piškotki

Piškotki Silverlighta in brskalnika so shranjeni ločeno in jih ni mogoče združevati

Page 13: Debugging (Silverlight + SQL Server)

Odpovedi (Faults)

NedeklariraneincludeExceptionDetailInFaults=“true”

Samo za obdobje testiranja!

Deklarirane

[FaultContract(typeof(ApplicationFault))]

includeExceptionDetailInFaults=“false”

Page 14: Debugging (Silverlight + SQL Server)

Povezave (Silverlight)

http://tinyurl.com/sl3faults/

http://tinyurl.com/debugtools/

http://tozon.info/blog/

http://slodug.si/

Page 15: Debugging (Silverlight + SQL Server)

Vprašanja?

Matija LahSQL Server MVP

Mi Lambda s.p.

[email protected]

Andrej TozonClient App Dev MVP

ANT Andrej Tozon s.p.

[email protected]

http://tozon.info/