21. marts 2006 - 12:11Der er
26 kommentarer og 1 løsning
Kald af dll i asp.net c#
Jeg arbejder i vs .net 2003. Jeg har en dll, som jeg prøver at kalde via dllimport. Jeg har testet den i en windowsapplikation og der virker det fint. Men ikke i min asp.net-applikation.
Hvordan registrer jeg en dll i en asp.net? Jeg har prøvet at registrer dll´en med LoadLibrary, men når jeg kalder den metode fryser browseren?
Add reference (i solution explorer) -> browse til din dll og sæt property til copy local (eller hvad den nu hedder). Så kan du skrive using "dll-navn" og har derefter adgang til metoder etc. i dll'en
Det er en dll lavet i delphi, så det er vel managed kode. Jeg ved ikke hvordan den er bygget. Den virker i en winapplikation. Burde den så ikke også virke i ASP.net?
Følgende er et kodeeksempel hvor jeg kalder en Delphi funktion fra C# vha. "platform invoke". Delphi library DLL filen er smidt i bin mappen - ingen referencer eller registrering er nødvendig.
------------------
using System; using System.Runtime.InteropServices; using System.Text;
Prøvede at rydde op i koden før jeg postede, men missede lige at klassen nedarver fra WebService. Denne del kan du blot slette, såfremt du da ikke skal bruge metodekaldet i en webservice.
davidfossil: Jeg har en "dummy" dll, som jeg har kaldt på samme måde og det virker fint. Men den dll, som jeg så ikke kan få til at virke, virker fint fra en windowsapplikation. Så der må være forskel på at kalde den i en winform / webform?
Det er ikke nødvendigt at kalde LoadLibrary() eller FreeLibrary() for registrer dll´en?
kan du ikke sætte en try/catch rund om kaldet, og så debuge dig ned igennem. så kan du dels se hvad det er for et kald der kikser, og hvis du overfører parametre til en metode i den eksterne komponent - kan du også checke om de er som forventet (som i din winapp). mvh
OK. Nu har jeg en ny version af en dll. Problemet var der stadig. Men hvis jeg give dll et andet navn virker den. Kan det være webserveren der Cacher dll´en. I så fald, hvordan kan jeg lave det om?
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.