Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    75

    [C# WCF] Usare una dll esterna in un servizio ospitato in IIS

    Buongiorno,
    ho cominciato a studiare i servizi web in WCF. Mentre modificavo l'esempio di mdsn Bookstore (federation sample) ho modificato il funzionamento aggiungendo una parte che dovrebbe leggere dei dati da un database. Come database uso PostgreSql e la dll da importare per effettuare connessioni e query sul db è Npgsql.
    Il servizio viene ospitato in IIS. Il problema è che se io da visual studio aggiungo il riferimento alla dll npgsql.dll, che ho in una cartella sul desktop, non da nessun errore in compilazione (e ci mancherebbe) ma quando poi provo ad accedere al servizio e vado ad eseguire il metodo che dovrebbe accedere al database mi viene fuori un messaggio di errore che recita così:

    System.ServiceModel.FaultException Impossibile caricare il file o l'assembly 'Npgsql, version=... o una delle relative dipendenze'.

    Ovviamente il messaggio dice anche altro ma il succo del problema è lì.
    Ho pensato che IIS non riesca ad accedere alla dll per qualche problema di permessi, allora ho copiato la dll nella cartella fisica in cui viene ospitato il servizio, ovvero la cartella C:\inetpub\wwwroot\FederationSample\BookStoreServi ce ma purtroppo mi viene fuori lo stesso errore.

    Premetto che non è un problema di utilizzo di db o della dll Npgsql, perché per verificare ciò ho fatto un esempietto stupido per verificare il corretto funzionamento della dll (ovviamente un esempio non web service) e accedo al db e recupero quello che mi serve.

    Ringrazio anticipatamente chiunque abbia una risposta al mio problema.

  2. #2
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290

    Re: [C# WCF] Usare una dll esterna in un servizio ospitato in IIS

    Originariamente inviato da gatsu85
    Buongiorno,
    ho cominciato a studiare i servizi web in WCF. Mentre modificavo l'esempio di mdsn Bookstore (federation sample) ho modificato il funzionamento aggiungendo una parte che dovrebbe leggere dei dati da un database. Come database uso PostgreSql e la dll da importare per effettuare connessioni e query sul db è Npgsql.
    Il servizio viene ospitato in IIS. Il problema è che se io da visual studio aggiungo il riferimento alla dll npgsql.dll, che ho in una cartella sul desktop, non da nessun errore in compilazione (e ci mancherebbe) ma quando poi provo ad accedere al servizio e vado ad eseguire il metodo che dovrebbe accedere al database mi viene fuori un messaggio di errore che recita così:

    System.ServiceModel.FaultException Impossibile caricare il file o l'assembly 'Npgsql, version=... o una delle relative dipendenze'.

    Ovviamente il messaggio dice anche altro ma il succo del problema è lì.
    Ho pensato che IIS non riesca ad accedere alla dll per qualche problema di permessi, allora ho copiato la dll nella cartella fisica in cui viene ospitato il servizio, ovvero la cartella C:\inetpub\wwwroot\FederationSample\BookStoreServi ce ma purtroppo mi viene fuori lo stesso errore.

    Premetto che non è un problema di utilizzo di db o della dll Npgsql, perché per verificare ciò ho fatto un esempietto stupido per verificare il corretto funzionamento della dll (ovviamente un esempio non web service) e accedo al db e recupero quello che mi serve.

    Ringrazio anticipatamente chiunque abbia una risposta al mio problema.
    Mettila nella bin
    Comunque quando aggiungi un riferimento puoi mettere l'opzione "copia localmente" in modo che copi lui la dll nella bin.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    75
    grazie,
    mettendo tutto in bin funziona. Però l'opzione per farlo mettere in automatico non la trovo.

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.