Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Problema .NET: Dll non carica più il corretto link del Web Service

    Salve a tutti,

    seguo da sempre il vostro forum e mi siete sempre stati di aiuto in un modo o nell'altro. Questa volta però ho la necessità di scrivervi perchè non riesco proprio a risolvere un problema che ora vi spiego brevemente.

    Ho preso in carico un vecchio sistema sul quale c'è una dll con dei metodi esposti tra cui uno che invoca un web service esterno.
    Ora mi è stato detto da coloro che offrono il servizio, che l'indirizzo del ws è cambiato e che lo devo sostituire sul mio "codice".
    A questo punto sono andato a vedere e tra le cartelle ho visto un file: nomedll.dll.config il quale contiene in un campo dell'xml proprio quell'indirizzo (oramai vecchio).
    Ho provato a sostituire il nuovo indirizzo qui ma quando testo il WS vedo che in realtà mi risponde ancora quello vecchio.
    Fatta questa breve (e spero esaustiva) premessa vi chiedo:

    potrebbe essere che il link è "cablato" anche da qualche altra parte?
    non è che devo riavviare il server per far ricaricare il nuovo link correttamente?
    forse devo ricompilare tutta la dll?


    Grazie fin da ora per il vostro supporto.
    buona giornata a tutti

  2. #2
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,287
    Può essere tutto fino a quando non vedi il codice.

    Prova decompilare la DLL se non hanno usato particolari accorgimenti è semplice farlo.

  3. #3
    Innanzitutto Grazie per l'interessamento Uranio,

    purtroppo non riesco a trovare i sorgenti della dll in tutto il progetto :/

    A portata di mano ho solo la dll.

    Secondo te il link è probabile che sia scritto anche all'interno della dll?


    Grazie ancora

  4. #4
    Aggiornamento:

    Tramite JetBrains sono riuscito a decompilare la dll e in un file (Settings.cs) ho visto l'URL che dovrò modificare.

    Ora vi chiedo: dal momento che in C:\inetpub\Dll\ ho molte cartelle con varie release della dll (hanno tutte lo stesso nome ma se ci vado vicino con il mouse mi da versioni differenti) come faccio a sapere esattamente quella che viene richiamata dalla pagina asp?
    C'è da qualche parte scritto a quale dll la pagina fa riferimento?

    Grazie 1000 per il vostro supporto.



    Quote Originariamente inviata da URANIO Visualizza il messaggio
    Può essere tutto fino a quando non vedi il codice.

    Prova decompilare la DLL se non hanno usato particolari accorgimenti è semplice farlo.

  5. #5
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,287
    Quote Originariamente inviata da francy_85 Visualizza il messaggio
    Aggiornamento:

    Tramite JetBrains sono riuscito a decompilare la dll e in un file (Settings.cs) ho visto l'URL che dovrò modificare.

    Ora vi chiedo: dal momento che in C:\inetpub\Dll\ ho molte cartelle con varie release della dll (hanno tutte lo stesso nome ma se ci vado vicino con il mouse mi da versioni differenti) come faccio a sapere esattamente quella che viene richiamata dalla pagina asp?
    C'è da qualche parte scritto a quale dll la pagina fa riferimento?

    Grazie 1000 per il vostro supporto.
    mmm ti stai infilando in un ginepraio.
    Non è detto che dopo la modifica riesci a ricompilare la DLL tranquillamente.

    Per quanto riguarda quale DLL... DIPENDE.
    Normalmente viene presa quella nella bin dell'applicativo, se non c'è molto probabilmente la DLL è registrata nella GAC, oppure nel codice c'è schiantato il percorso.

  6. #6
    Quote Originariamente inviata da francy_85 Visualizza il messaggio
    Salve a tutti,
    ...
    A questo punto sono andato a vedere e tra le cartelle ho visto un file: nomedll.dll.config il quale contiene in un campo dell'xml proprio quell'indirizzo (oramai vecchio).
    Ho provato a sostituire il nuovo indirizzo qui ma quando testo il WS vedo che in realtà mi risponde ancora quello vecchio.
    Fatta questa breve (e spero esaustiva) premessa vi chiedo:
    ...
    Ciao,
    prova a vedere se l'endpoint del ws è scritto nel .config dell'applicazione che usa la dll;

    inoltre una ricerca dell'endpoint in tutti i file potrebbe aiutare

    HTH

  7. #7
    Quote Originariamente inviata da URANIO Visualizza il messaggio
    mmm ti stai infilando in un ginepraio.
    Non è detto che dopo la modifica riesci a ricompilare la DLL tranquillamente.
    Beh effettivamente fatta la modifica quando ricompilo mi da 4 errori (tutti uguali ma in diversi punti del codice).
    C'è qualche altra soluzione che posso adottare secondo te?

    Quote Originariamente inviata da URANIO Visualizza il messaggio
    Per quanto riguarda quale DLL... DIPENDE.
    Normalmente viene presa quella nella bin dell'applicativo, se non c'è molto probabilmente la DLL è registrata nella GAC, oppure nel codice c'è schiantato il percorso.

    In questo caso escluderei il primo (non vedo nessuna cartella bin sul server) quindi molto probabilmente come dici tu è registrata nella GAC... in questo caso come posso fare per controllare?


    Grazie ancora e buona giornata.

  8. #8
    Quote Originariamente inviata da sspintux Visualizza il messaggio
    Ciao,
    prova a vedere se l'endpoint del ws è scritto nel .config dell'applicazione che usa la dll;

    inoltre una ricerca dell'endpoint in tutti i file potrebbe aiutare

    HTH

    Ciao, ti ringrazio per il consiglio, purtroppo ho fatto una ricerca dell'end point ma come scritto negli altri post quest'URL l'ho trovato solo nella nomeDll.dll.config e all'interno della nomeDll.dll (una volta decompilata con JetBrains) stessa.
    Sostituendolo nel nomeDll.dll.config non è cambiato nulla.
    Purtroppo ho preso in eredità tutto questo sito e su quest'aspetto purtroppo non mi è stato detto (e dato) nulla.

    Ti vengono in mente qualche altre soluzioni?


    Grazie ancora!

  9. #9
    Quote Originariamente inviata da francy_85 Visualizza il messaggio
    ...
    Purtroppo ho preso in eredità tutto questo sito e su quest'aspetto purtroppo non mi è stato detto (e dato) nulla.

    Ti vengono in mente qualche altre soluzioni?
    solo pork-around dei quali non mi assumo alcuna responsabilità;

    1) usare apache che reindirizza dall'endpoint sbagliato a quello giusto

    2) aprire la dll compilata con un editor di testo e , se si vede in chiaro, correggere l'endpoint sperando che funzioni senza rompere altro

    HTH

  10. #10
    Sono ancora qui a sperare in un vostro (anche piccolo) consiglio/aiuto.

    Seguendo i vostri consigli, ho:

    esportato la dll in progetto (con jet Brain)
    modificato l'url del web service
    fatto il build del progetto con Sharp Develop

    A questo punto vi chiedo 2 cose:

    - devo necessariamente registrare questa dll?
    - se malauguratamente dovesse andare qualcosa storto (dopo averla registrata) avrei la possibilità di ritornare indietro e ripristinare la vecchia?

    Non vorrei che per aggiustare una cosa ne "scasso" un'altra.....


    Grazie 1000 per il vostro supporto.

    Buona serata

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.