Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    DLL - possibile che contenga...

    Carissimi ragazzi/e bentrovati/e...
    in azienda abbiamo un portale realizzato prevalentemente in pure ASP ed in minima parte in ASP.NET...il programmatore che lo ha fatto non collabora più con noi...

    Una pagina ASP (main.asp) legge da un database ACCESS una serie di output: alla visualizzazione del dettaglio di tali output (composti da un titolo, sottotitolo, un testo esteso...), si accede attraverso un link che rimanda ad una pagina realizzata in asp.net (articolo.aspx). I link a tale pagina, sono generati dinamicamente non secondo la consueta (per quel che conosco di ASP) sintassi che prevede "nomdelfile.asp?Variabile=ValoreVariabile" ove la variabile può essere l'ID dell'output da visualizzare...bensì, il nome del file cambia di volta in volta a seconda della "news cliccata", ereditando il suo titolo (con i dovuti Replace ove necessario): ad esempio, per una news con titolo "Festa della Marmellata", il path visualizzato è il seguente..."www.miosito.com/Art_75_Festa_della_Marmellata.aspx" ove "Art" è semplicemente un prefisso posto a priori, 75 l'id della news, e quel che c'è dopo, il titolo della news (coi suddetti replaces). Sta di fatto che il file fisico su cui fanno perno le news, è appunto il file in .net (articolo.aspx).

    Quale "magia" si nasconde dietro tale escamotage? è attendibile l'ipotesi in base alla quale tutto ciò sia dovuto alla DLL che risiede sul server, e che alla richiesta di visualizzazione di un output ci mostra la pagina articolo.aspx camuffandone il path (filename) ed, ovviamente, variandone i contenuti ?

    Ma il nostro problema è che, dovendo rilasciare una nuova versione del portale, vorremmo pubblicare il tutto prima su un dominio di prova (su quello definitivo è tutto funzionante): ci abbiamo provato copiando e registrando sul server la medesima DLL della versione funzionante, rispettando anche i path (ovviamente varia solo la radice del dominio) ma senza ottenere i risultati sperati: ecco l'errore che ci viene segnalato...

    nostradll.dll was loaded, but the DLLRegisterServer EntryPoint was not found.
    DLLRegisterServer could not be exported or a corrupt version of nostradll.dll may be in memory. Consider using pview to detect and remove it.


    Allora mi sono accertato dapprima che la DLL non fosse danneggiata...mi sono limitato ad aprirla con l'utility "Dependency Walker", anche se non so a cosa serva nello specifico...e ci sono riuscito. Quindi suppongo che nn dovrebbe essere "corrupted".

    Riguardo all'EntryPoint del DLLRegisterServer non so nemmeno da dove cominciare...

    Magari dirò un'eresia...ma è possibile che l'applicazione non funzioni sul dominio di prova perchè la DLL è compilata per un dominio differente ?

    Purtroppo siamo anche sprovvisti del sorgente della DLL, quindi prenderemmo in considerazione anche l'ipotesi di una collaborazione per la rielaborazione della stessa ammesso che funzioni alla stessa stregua di quella preesistente, quindi secondo i criteri su specificati.

    Grazie a tutti!

  2. #2
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Se vuoi incorporare un'oggetto COM nel codice, occorre registrare la DLL nel sistema, e non semplicemente copiarla.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  3. #3
    ci abbiamo provato copiando e registrando sul server la medesima DLL della versione funzionante
    forse nella lunghezza del post ti sarà sfuggito...

  4. #4
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Giusto, ma devi deregistrarla e metterla nella directory bin dell'applicazione senza, successivamente, usare regsvr32
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  5. #5
    perdonami, ma sono un profano dell'ASP.NET

    ma devi deregistrarla e metterla nella directory bin dell'applicazione
    i sistemisti del server ci hanno assicurato che la dll è stata registrata...ed io poso confermarti che si trova in una cartella "bin"

    senza, successivamente, usare regsvr32
    cosa vuol dire ??

  6. #6
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Il fatto è che ci sono varie casistiche in cui questo problema piò verificarsi e ovviamente non le conosco tutte, però:
    per registrare una dll dal prompt dei comandi si usa questo:

    codice:
    regsvr32 C:\cartella\nomelibreria.dll
    e per deregistrarla si usa questo

    codice:
    regsvr32 -u C:\cartella\nomelibreria.dll
    La cartella bin la trovi nella root dell'applicazione.
    Ora, prova a deregistrare la dll e vedere se funziona, al limite la registri di nuovo... è anche possibile che il sistema di chieda di riavviare. Se non risolvi così, allora ti consiglio di contattare lo sviluppatore che l'ha creata.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  7. #7
    beh, chiedevo aiuto anche perchè non riusciamo a contattare lo sviluppatore che l'ha realizzata...nè abbiamo il sorgente...a proposito, ma che estensione ha il file da cui si estrapola una dll ?

    e poi...ti sarei grato se potessi darmi un'opinione sulla mia ultima supposizione...

    Magari dirò un'eresia...ma è possibile che l'applicazione non funzioni sul dominio di prova perchè la DLL è compilata per un dominio differente

  8. #8
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Dipende dal linguaggio in cui è stata scritta, ad esempio .cs (C#) se è questo quello che intendi.

    Per quanto riguarda la tua supposizione, non mi sembra possibile che una libreria di classi sia confinata all'uso esclusivo su un particolare dominio, a meno che non si sia impazzito a fare dei controlli particolari all'interno del codice basandosi sulla macchina in cui doveva lavorare.... comunque non sò, non mi è mai capitato di doverlo fare. al limite rendo le classi non ereditabili se voglio "proteggere" il mio codice.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    ciao, a parte che non è necessario usare DLL per fare quel lavoro...

    se cmq usi oggetti COM,
    conviene fare due cose:

    1) creare un progetto MergeModule (a cui associ l'oggetto COM)
    2) Creare un WEB setup project

    ti genera un file .msi, lo lanci e ti installa tutto, compresa la registrazione delle DLL.
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  10. #10
    forse avrei fatto meglio a dire sin dal primo post che sono assolutissimamente profano della materia...quindi sentir parlare di oggetti COM e "MergeModule" è musica del tutto nuova e sconosciuta per le mie orecchie...date troppe cose per scontato, se qualcuno viene a chiedere aiuto su un forum non è detto che sia pratico della materia trattata.

    E vi ribadisco che l'azienda per cui sto facendo questa ricerca d'aiuto è disposta a prendere in considerazione eventuali collaborazioni (a pagamento, s'intende) per la risoluzione del problema. Quindi contattatemi anche in tal senso.

    a parte che non è necessario usare DLL per fare quel lavoro
    e in che altro modo di potrebbe fare ? siamo aperti anche ad altre soluzioni.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.