webForumDet fria alternativet

Reflection på webbhotell

24 svar · 1 170 visningar · startad av doggelito

doggelitoMedlem sedan juni 20003 076 inlägg
#1

Att man inte får använda sig av reflection verkar vara "trendigt" bland webbhotell.
Läser man på div. hotells specar på vad man får/inte får så kan man lätt tro att de bara kopierat varandras texter. För vissa hotell har exakt samma punktlista! :l

Men vad är "farligt" med reflection egentligen eftersom hotellen inte tillåter det?

cokMedlem sedan dec. 2005664 inlägg
#2

Det är resurskrävande.

CatZMedlem sedan jan. 20022 440 inlägg
#3

Åja så farligt är det inte med reflection. Det går att använda reflection konstant utan att sänka ett webbhotell.

Webbhotell som skriver att man inte får använda reflection är inte seriösa eftersom de inte vill uppgradera hårdvaran eller inte har kontroll över den och om du ser ett hotell som skriver så ska du fundera på att byta!

doggelitoMedlem sedan juni 20003 076 inlägg
#4

CatZ skrev:

Webbhotell som skriver att man inte får använda reflection är inte seriösa eftersom de inte vill uppgradera hårdvaran eller inte har kontroll över den och om du ser ett hotell som skriver så ska du fundera på att byta!

Seriös eller inte, två av sveriges största tillåter det inte, Loopia och Binero. :(
http://support.loopia.se/?_a=knowledgebase&_j=questiondetails&_i=234&nav=+%26gt%3B+<a+href%3D'index.php%3F_a%3Dknowledgebase%26amp%3B_j%3Dsubcat%26amp%3B_i%3D31'>Utveckling+%2F+Programmering<%2Fa>+%26gt%3B+<a+href%3D'index.php%3F_a%3Dknowledgebase%26amp%3B_j%3Dsubcat%26amp%3B_i%3D33'>ASP.NET<%2Fa>
https://www.binero.se/kundservice/hjalp/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=73&nav=0,4,9

cok skrev:

Det är resurskrävande.

På vilket vis då? Är det processorkrävande eller är det ramminnet som blir fullt?

Och jag har för mig att man kan ställa hur mycket resurser en viss iis-instans får nyttja och då borde det inte bli ett problem!?

Det känns som det måste vara nått mer kruks med reflections.
Kan man med reflections komma åt att läsa metadata eller dyligt ur filer som man inte har behörighet till? Alltså filer utanför sin webbrot.

NickemannenMedlem sedan aug. 20003 575 inlägg
#5

Jag vet inte så mycket om det, men det finns tydligen olika security levels och reflection är inte tillåten på ett par av dom nivåerna.

CatZMedlem sedan jan. 20022 440 inlägg
#6

Nu kom inte allting jag skrev med då jag startade om datorn men det jag skulle tillägga är att det är med reflection som det är med allt annat i kodväg. Det spelar ingen roll så länge det används rätt men felkodat kan det ställa till med problem.

spangoMedlem sedan juni 20008 205 inlägg
#7

Nickemannen skrev:

Jag vet inte så mycket om det, men det finns tydligen olika security levels och reflection är inte tillåten på ett par av dom nivåerna.

http://msdn2.microsoft.com/en-us/library/ms998326.aspx
De har - som de skriver - medium trust på CASen. Förstår man inte varför de har det... så får man tänka lite till.

doggelitoMedlem sedan juni 20003 076 inlägg
#8

Jag fattar ändå inte! :(
http://msdn2.microsoft.com/en-us/library/stfy7tfc.aspx
Vad skulle jag kunna göra på webhotellet om jag hade reflectionrättigheter?
Skulle jag kunna förstöra något eller vad?! :q

spangoMedlem sedan juni 20008 205 inlägg
#9

Skulle gissa att det är för att undvika okontrollerad exekvering. Använder du reflection kan du teoretiskt låta en användare diktera vilka metoder som ska anropas. Tycker spontant att det är lite udda, med tanke på att resten av permissionsettet begränsar ganska duktigt skadan man kan åstadkomma då, men det finns säkert en god anledning.

doggelitoMedlem sedan juni 20003 076 inlägg
#10

Oki.

Jag har i alla fall kollat med Anders på Binero nu och det visar sig att de visst tillåter reflection i deras medium trust config. Weeii! :D :bire

NickemannenMedlem sedan aug. 20003 575 inlägg
#11

Jepp :)....
Reflection är krafftfullt därför skulle jag nog aldrig välja ett webhotell som inte stödjer det.

CatZMedlem sedan jan. 20022 440 inlägg
#12

Nickemannen skrev:

Jepp :)....
Reflection är krafftfullt därför skulle jag nog aldrig välja ett webhotell som inte stödjer det.

(y) Samma här

inspiroMedlem sedan sep. 2005673 inlägg
#13

Kan någon lite enkelt förklara vad reflection är för något?

CatZMedlem sedan jan. 20022 440 inlägg
#14

Reflection

C-Sharp Corner skrev:

Refelction is the mechanism of discovering class information solely at run time.Wondering where it would be useful? Imagine,you are in visual studio IDE (Integrated devolopment environment) and as you type "object." you would see all the methods,properties and events associated with that object.An other example would be an Object browser.The code attached here,loads all assemblies and displays each class,its contructors, methods, properties and events in tree view.The form also hase a command botton (labeled More Reflection) in whose click event I create an object of MyClass1 class based on the name of the class and invoke its methods during run time.Here is an explanation of the code with information on various classes and methods used.

I have called the name space MyReflection.Then I have declared MyClass1 and MyClass2 which are used in the click event of More reflection Button.I will talk about these classes when I come to the click event of this button.Next,I have called my form as TestReflection and is inherited from System.Winforms.Form.Most of the assemblies are found in D:\\WINNT\\Microsoft.NET\\Framework\\v1.0.2204\\.If this is not the path in your computer change it to appropriate path on your computer.I have stored all the paths of the assemblies in an array called arAssemblyPath.I have used System.Winforms.dll and System.dll and commented the rest, to speed up loading and unloading of application.I have declared an array of Types ,arOfTypes to store all the s from an assembly.I have a for loop that loads each assembly and gets its types.To do this I had to use Assembly class in System.Reflection name space.Let us talk a little bit about this class before we move on.

Kort beskrivning

inspiroMedlem sedan sep. 2005673 inlägg
#15

Hm, så reflection är samma sak som intellisens i vs? Använder inte alla klasser reflections då? Antagligen har jag helt missförstått. :)

CatZMedlem sedan jan. 20022 440 inlägg
#16

Nej inte riktigt... med hjälp av reflection kan man skapa "anonyma" metoder som tar emot basklassen som parameter.

Det är stort! Riktigt stort och definitivt något man vill kunna använda sig av. Du kan mha reflection skapa modulbaserade sajter och program och låta reflection ladda rätt moduler åt den inloggade användaren "conditionally".

Du kan också i runtime låta reflection söka rätt på det du letar efter.

inspiroMedlem sedan sep. 2005673 inlägg
#17

Ok, hittade den här artikeln som förklarade det så jag förstår tror jag.

http://www.codersource.net/published/view/291/reflection_in.aspx

Däremot har jag svårt att se några direkta tillämpningar. Varför skulle man inte känna till vilka metoder/properties som finns på ett objekt när man skriver sin kod?

PMedlem sedan jan. 20012 204 inlägg
#18

I runtime kan du se t.ex se vilka metoder en klass har. Så användbart är det väl egentligen inte, som det är nu, i framtiden kanske det blir bättre. Säg att du på en klass "användare" har en metod "namn". Men om inte en specifik användare inte har något namn, då borde ju kanske inte den metoden "namn" existera.

Jag tycker mest reflection känns som en gratisprodukt man fått då man inte använder c++ stil att anropa t.ex metoder. I en klass i c++ som har några olika metoder så har man (vad jag har förstått) en lista med olika funktionspekare till de olika metoderna. Typ:
1. Metod1
2. Metod2
3. Metod3

Sen om du anropar en funktion så kompileras den positionen som metoden har in i koden. I C#/Java så anropar man med hjälp av namnet på metoden och inte dess plats i listan.

spangoMedlem sedan juni 20008 205 inlägg
#19

P skrev:

I C#/Java så anropar man med hjälp av namnet på metoden och inte dess plats i listan.

Njae, vid direkta anrop av metoder etc sker anropen mer i stil med hur de funkar i C++, både i Java och C#, det är därför direkta anrop är så larvigt mycket snabbare än reflection.

NickemannenMedlem sedan aug. 20003 575 inlägg
#20

Tillfällen då reflection kan vara kraftfullt är vid skapande av applikationer som man skall kunna implemmentera plugins till :).

Applikationen ifråga har ett interface som den kräver att plugins skall implemmentera och sedan så läggs dll:en/dll:erna i en mapp som applikationen kollar av, och söker efter klassen som implemmenterar interfacet och använder sig på det sättet av den nya assemblien, kanske lägger till funktionaliteten i ett menyalternativ eller dylikt :).

Annars så är NHibernate ett exemplariskt exempel.

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