Avatar billede Lasse Novice
16. juni 2003 - 19:50 Der er 19 kommentarer og
2 løsninger

rettigheder for ActiveX komponent i browser

Vores activeX komponent lavet i C# skal have adgang til at laese fra filer paa serveren. Hvordan goer man det. Ligesaa snart vi proever at aabne filen vha. FileIOPermissions, saa kommer der en exception(request for permission FileIOPermission has failed). Vi har laest os til at det er noget der skal saettes op i IIS, men det i sig selv kan vaere at lede efter en naal i en hoestak.

Alt hjaelp er velkommen. Det skal siges at vi har soegt nettet tyndt efter gode links.
Avatar billede nielslbeck Nybegynder
16. juni 2003 - 20:07 #1
Så I vil ude fra browseren læse noget der ligger på serveren? Sikker på, det kan lade sig gøre uden videre? Tror du ikke du så evt skal ha' en side på serveren som så kan streame det til din ActiveX?
Avatar billede burningice Nybegynder
17. juni 2003 - 02:40 #2
activeX kører jo på klienten, som nielslbeck er inde på... du skal kalde serveren enten via en Webservice eller gennem noget Remoting
Avatar billede Lasse Novice
17. juni 2003 - 15:58 #3
Ja, jeg glemte helt at skrive hele sandheden og det var at det laa lokalt, og alle filer vi var interesseret i laa paa et sharet drev. Ikke desto mindre, valgte vi at bruge streame metoden, saaledes at det ikke kun var bundet til lokale netvaerk.

Tak nielsbeck og cyberfessor.

Svar udbedes.
Avatar billede nielslbeck Nybegynder
17. juni 2003 - 16:00 #4
:-)
Avatar billede Lasse Novice
17. juni 2003 - 19:28 #5
ja ok... ogsaa var det saa lige at vi aldrig naaede at teste det i activeX kontrollen. Efter test deri, har vi samme problem som foer. Istedet for en FileIOException, faar vi nu en WebPermission exception istedet. Saa vi er faktisk ikke kommet nogen vegne :(
Avatar billede Lasse Novice
17. juni 2003 - 19:28 #6
FileIOException = FileIOPermission
Avatar billede nielslbeck Nybegynder
17. juni 2003 - 19:36 #7
Er der lidt kode man kan se? Bruger du remoting, eller hva'?
Avatar billede Lasse Novice
17. juni 2003 - 19:46 #8
ja selvfoelgelig:

System.Security.Permissions.FileIOPermission permission = new System.Security.Permissions.FileIOPermission(System.Security.Permissions.FileIOPermissionAccess.AllAccess, filename);

try
{
    permission.Demand();
}
catch (System.Security.SecurityException ex)
{
    MessageBox.Show("Permission was denied, " + ex.Message);
}
catch (System.Exception ex)
{
    // React to other exceptions here.
    MessageBox.Show("Other error. " + ex.Message);
}
try
{
        this.pictureBox1.Image = new Bitmap("C:\\Inetpub\\wwwroot\\mike\\teapot.png");
}
catch (System.Exception ex)
{
      MessageBox.Show("Unable to load the bitmap. " + ex.Message);
}

Dette er et udsnit fra activeX komponenten. Hvis du har lyst, kan du faa hele komponenten, saa du kan se det, men det er basically dette der fejler. Nu har vi saa aendret det til et webrequest(for at streame png file over), men faar nu en WebPermission exception
Begge disse fejler
Avatar billede Lasse Novice
17. juni 2003 - 19:52 #9
faktisk er vi i den tro at det slet ikke er denne maade det skulle fungere paa. Jeg ved ikke om du kender det, men Viewpoints activeX komponent, der kan vise 3d(www.viewpoint.com), henter en mtx fil + en mts fil paa en eller anden maade uden permission errors. Problemet er hvordan
Avatar billede nielslbeck Nybegynder
17. juni 2003 - 19:53 #10
Hmm... hvor er det præcis du får fejlen?
Du prøver at åbne en fil fra drev C? Det kan du vel ikke?
Avatar billede nielslbeck Nybegynder
17. juni 2003 - 20:02 #11
Kender det ikke... men så vidt jeg kan se, er det ikke lavet i .NET - ikke fordi de skulle ha' det store at sige...
Avatar billede nielslbeck Nybegynder
17. juni 2003 - 20:06 #12
Hmm... bare prøv at komme med al koden...
Avatar billede Lasse Novice
17. juni 2003 - 20:07 #13
Dette er hvad vi goer nu:

// HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://michael/mike/teapot.png");

//Create the response object
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

System.IO.Stream strm = response.GetResponseStream();

nej, det tror jeg ikke det har det store at sige. Problemet her er at vores activex ikke har rettigheder til at gaa "udover sig selv". Det er vist noget IE styrer.
Avatar billede Lasse Novice
18. juni 2003 - 00:52 #14
Skal jeg ikke hellere sende dig projektet => skriv din email
Avatar billede nielslbeck Nybegynder
18. juni 2003 - 08:53 #15
Ja, lad mig bare lige kigge på det - men som du også selv er inde på, kunne det tænkes, at IE ikke vil tillade det... men lad os se på det - niels_beck@hotmail.com
Avatar billede nielslbeck Nybegynder
19. juni 2003 - 22:30 #16
Kigger på det i morgen - havde lige en eksamen der skulle overståes - men nu er det "ferie-tid", så nu skulle der være tid til at hjælpe :-)
Avatar billede Lasse Novice
20. juni 2003 - 17:51 #17
ja, det er vist det man kalder en smart client, istedet for en activeX kontrol. Vi har imidlertid faaet det til at virke internt, men ligger vi komponenten paa det eksterne net, faar vi aldrig noget op.
Avatar billede Lasse Novice
20. juni 2003 - 17:52 #18
hvis vi ikke faar det sidste loest, stiller jeg et nyt spg.
Avatar billede nielslbeck Nybegynder
20. juni 2003 - 17:54 #19
Okay, hvordan søren har I fået det til at virke internt? Jeg får hele tiden den exception...

Nå, men nu er det jo ikke mig der skal stille spørgsmål her - det er jo dit spørgsmål :-) Men jeg tror desværre ikke jeg umiddelbart kan hjælpe mere :-(
Avatar billede nielslbeck Nybegynder
20. juni 2003 - 17:55 #20
Det er så okay... beklager jeg ikke kunne hjælp mere...
Avatar billede nielslbeck Nybegynder
21. juni 2003 - 22:20 #21
Ved ikke om du er kommet videre... men ellers kan jeg fortælle, at du kun kan connecte til den computer, som "ActiveX"'en kommer fra - ligesom i Java-applets...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester