Toon posts:

vb.net executable aanroepen vanuit asp.net

Pagina: 1
Acties:
  • 101 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
hallo,


Ik heb een vb.net executable gemaakt. Deze wil ik aanroepen vanuit asp.net.
In deze exe zit een functie :
code:
1
2
3
4
public function count(byval nr1 as integer, byval nr2 as integer)
    bla bla
    return "test"
end function


Deze functie wil ik dus aanroepen vanuit asp.net. en de waarde die deze functie terug geeft weer in asp.net kunnen gebruiken
Deze manier heb ik gekozen omdat deze executable op de server geopend moet worden. Op de server moet je dan ook het form kunnen zien.

Hoe kan ik dit doen?

groeten Tom

  • Tukk
  • Registratie: Januari 2002
  • Laatst online: 15-02 11:41

Tukk

De α-man met het ẞ-brein

Ik vermoed dat je van de exe een DLL wil maken, dan kun je de functie aanroepen vanuit ASP.Net.
Deze .dll kan dan ook vanuit een executable aangeroepen worden.

Q: How many geeks does it take to ruin a joke? A: You mean nerd, not geek. And not joke, but riddle. Proceed.


Verwijderd

Topicstarter
Tukk schreef op woensdag 19 juli 2006 @ 09:11:
Ik vermoed dat je van de exe een DLL wil maken, dan kun je de functie aanroepen vanuit ASP.Net.
Deze .dll kan dan ook vanuit een executable aangeroepen worden.
kan dit dan ook als een form op de server verschijnen?

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 03-02 12:37

pjvandesande

GC.Collect(head);

Verwijderd schreef op woensdag 19 juli 2006 @ 09:15:
[...]


kan dit dan ook als een form op de server verschijnen?
Nee, je voegt gewoon de exe toe aan je references en kunt gebruik maken van de public objects met hun methods. Je start dus niet de exe op, maar je gebruikt het gewoon als een dll.

Verwijderd

Topicstarter
questa schreef op woensdag 19 juli 2006 @ 09:25:
[...]


Nee, je voegt gewoon de exe toe aan je references en kunt gebruik maken van de public objects met hun methods. Je start dus niet de exe op, maar je gebruikt het gewoon als een dll.
is er een manier dat dit wel kan.

Even kleine uitleg. Ik heb een active x control. deze staat op een asp.net pagina. WAt nou de bedoeling is. Deze active x moet als een plaatje in een pdf komen welke dus op de server opgeslagen moet worden.
Mijn oplossing omdat de activex op de client draait. Ik implementeer deze active x in een vb.net form. Van dit formulier maar ik een soort van printscreen. Deze print (bitmap) komt weer uit de functie. Het is dus belangrijk dat de form word geopend op de server.
Het is wat omslachtig maar ik weet dat het moet kunnen. en anders kan het niet/willen ze niet

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:52

TeeDee

CQB 241

Anders kan het niet/willen ze niet?

Je wilt dus eigenlijk een bepaalde afbeelding in een pdf krijgen om deze serverside op te slaan?

Kijk eens naar iTextSharp

[ Voor 22% gewijzigd door TeeDee op 19-07-2006 09:41 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Arnaud
  • Registratie: Mei 2000
  • Laatst online: 10-02 22:24
Vanuit .NET een ander programma opstarten: System.Diagnostics.Process

Vanuit programma X een ander programma bedienen deed je vroeger met SendKeys. Dit is echt een hele "vieze" manier, maar als jouw opdrachtgevers dat willen.........

  • MrSleeves
  • Registratie: Februari 2004
  • Laatst online: 13-10-2025

MrSleeves

You'll thank me later.

Ik zou kijken of dit met remoting werkt. Normaal gesproken bedoeld om tussen twee programma's (al dan niet op dezelfde PC) objecten uit te wisselen.

Als ik Google op ASP.NET en Remoting, komt er wel het e.e.a. naar voren.

In het kort: Je maakt een DLL met een Interface. Die DLL gebruik je zowel in de Cliënt (ASP.NET) als de Server (de applicatie die het Form laat zien). Aan de Server-kant maak je een Class die de Interface implementeert en met Remoting maak je 'm beschikbaar binnen het netwerk (maar in dit geval alleen lokaal). Aan de Client-kant koppel je de interface aan het object aan de Server-kant.

Je kan dan het object gebruiken alsof je 'm direct beschikbaar hebt. Als je in ASP.NET er iets aan wijzigt, dan wijzigt dat ook aan de Server-kant. Aan de Server-kant kan je dan gaan pollen op wijzigingen in het object, maar met wat geknutsel kan het zelfs met Events.

[ Voor 72% gewijzigd door MrSleeves op 19-07-2006 10:10 ]

30Drie Web Design & IT Consultancy | Raven Consultancy Services


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:19
Tombert Wat heb je zelf al geprobeerd ? en groeten onder je post hoef je niet te doen; dat zou je toch al moeten weten
Verder: waarom heb je die functie in een executable gestoken ? Waarom niet in een DLL, die je dan gewoon als reference kunt toevoegen aan je project. Dan ben je zo klaar om die method aan te roepen.

Wat Arnaud zegt , is de goede manier om een ander process te starten, echter, weet wel dat dit problemen kan opleveren als je dit met ASP.NET doet (mbt security; het is normaal gezien het aspnet wp user account die het process zal uitvoeren, tenzij je impersonation gebruikt).

Ik zie echter ook niet in waarom je hier een andere Form (winforms ?) voor nodig hebt. Dit ruikt naar een 'oplossing' die op The Daily WTF thuishoort.

MrSleeves: ik zie totaal niet in waarom je dit met remoting zou moeten oplossen; of waarom remoting een betere manier is. Remoting gebruik je als je tussen 2 app domains wilt communiceren, en hier is geen sprake van.

https://fgheysels.github.io/


  • MrSleeves
  • Registratie: Februari 2004
  • Laatst online: 13-10-2025

MrSleeves

You'll thank me later.

whoami schreef op woensdag 19 juli 2006 @ 11:18:
MrSleeves: ik zie totaal niet in waarom je dit met remoting zou moeten oplossen; of waarom remoting een betere manier is. Remoting gebruik je als je tussen 2 app domains wilt communiceren, en hier is geen sprake van.
Ik ging er vanuit (aangezien er Form stond in de OP) dat hij een applicatie op de Server had draaien en objecten die daar actief zijn wilde benaderen/updaten vanuit ASP.NET.

30Drie Web Design & IT Consultancy | Raven Consultancy Services


Verwijderd

Topicstarter
Ik heb zelf al System.Diagnostics.Process.Start("C:/wwwroot/testsite/website/exe/view.exe") geprobeerd.

Als ik dit in de load die van mn asp.net pagina opend hij wel de pagina maar blijft laden. Ook word het scherm niet gestart.

Mijn plan is een beetje gewijzigd. Ik ga een aantal commandline vars meegeven. Waaronder een locatie en een bestandsnaam. Hier ga ik dus de bitmap opslaan!

Maar het form moet zichtbaar worden op de server. Mischien maar heel even want na het opslaan sluit ie zichzelf weer maar het moet zichtbaar worden ander kan ik het form niet copieren!

  • MrSleeves
  • Registratie: Februari 2004
  • Laatst online: 13-10-2025

MrSleeves

You'll thank me later.

Om het te snappen:
Iemand opent een webpagina; op de Server wil je daar een kopie van maken en die dan vervolgens met een soort van printscreen opslaan.

Is dat de bedoeling?

30Drie Web Design & IT Consultancy | Raven Consultancy Services


Verwijderd

Topicstarter
MrSleeves schreef op woensdag 19 juli 2006 @ 11:34:
Om het te snappen:
Iemand opent een webpagina; op de Server wil je daar een kopie van maken en die dan vervolgens met een soort van printscreen opslaan.

Is dat de bedoeling?
juist!

  • lier
  • Registratie: Januari 2004
  • Laatst online: 18:24

lier

MikroTik nerd

Waarom kies je voor een printscreen om deze vervolgens op te slaan en niet voor de HTML die geparst naar de gebuiker gestuurd wordt ?

Eerst het probleem, dan de oplossing


Verwijderd

Topicstarter
lier schreef op woensdag 19 juli 2006 @ 12:08:
[...]

Waarom kies je voor een printscreen om deze vervolgens op te slaan en niet voor de HTML die geparst naar de gebuiker gestuurd wordt ?
omdat het serverside opgeslagen moet worden. de activeX is een object. Dit word een soort van plaatje. Deze willen ze in een rapport hebben. Ik kan wel uitleggen hoe en wat maar dat is niet echt relevant denk ik!

Verwijderd

Topicstarter
Ik heb nu dit!:


Dim compiler = New System.Diagnostics.Process()
compiler.StartInfo.FileName = "C:/wwwroot/testsite/website/exe/view.exe"
compiler.StartInfo.UseShellExecute = False
compiler.StartInfo.RedirectStandardOutput = True
compiler.Start()


compiler.WaitForExit()


mn pagina blijft niet laden. Alleen ik krijg geen schermpje

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:19
Hoe denk je van dat schermpje bij de client te gebruiken ?
Wat bedoel je met 'die activeX wordt een plaatje' ?

Je bent gewoon aan het prutsen.

https://fgheysels.github.io/


  • Arnaud
  • Registratie: Mei 2000
  • Laatst online: 10-02 22:24
JIJ krijgt inderdaad geen schermpje, maar het ASP.NET account waaronder je draait krijgt dat schermpje wel. Kijk maar eens goed in je taskmanager (wel show processes from all users aanvinken)! Een simpel voorbeeld: Doe maar eens een "net use x: \\server\share". Je zult merken dat JIJ geen X: erbij hebt gekregen, maar ASP.NET kan toch echt wel de X: gebruiken. Impersenation is hiervoor (zoals al eerder vermeld) de oplossing.

Je bent echt bezig om een hele slechte oplossing te maken voor een relatief simpel probleem. Als je alle posts leest zie je dat je daar al een paar keer voor wordt gewaarschuwd. ("vieze" manier, daily WTF, prutsen). Hoe je dit wel zou moeten doen is ook al een paar keer verteld. Het is nu aan jou om iets met al deze informatie te doen.
Pagina: 1