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

    Creare componente (DLL?) utilizzabile in pagine ASP

    Ho necessita' di creare un componente in .NET per utilizzare agevolmente un ws, che pero' debba poter restituire i dati a delle pagine ASP. Che tipo di progetto apro?
    Avrei preferito aggiornare tutto a .NET ma non posso per questione di tempo.

  2. #2
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: Creare componente (DLL?) utilizzabile in pagine ASP

    Originariamente inviato da Nosophoros
    Ho necessita' di creare un componente in .NET per utilizzare agevolmente un ws, che pero' debba poter restituire i dati a delle pagine ASP. Che tipo di progetto apro?
    Avrei preferito aggiornare tutto a .NET ma non posso per questione di tempo.
    Progetto ASP.NET in C# (io preferisco il C#), poi ti aggiungi una DLL che gestisce solo il web service

  3. #3
    tlb.
    fai una com e carici l'oggetto in asp.
    cmq c'è un modo + veloce per leggere i ws con asp.

    io personalmente ci sono riuscito. sono quasi vicino a far leggere un dataset ad asp. se riesco (2 weeks) ad effettuare una conversione basata su schema affidabile posto il codice.
    bona

  4. #4

    Re: Re: Creare componente (DLL?) utilizzabile in pagine ASP

    Originariamente inviato da Joe Taras
    Progetto ASP.NET in C# (io preferisco il C#), poi ti aggiungi una DLL che gestisce solo il web service
    E' proprio una DLL che voglio creare...per poi usarla in ASP.

    Originariamente inviato da Jc_
    tlb.
    fai una com e carici l'oggetto in asp.
    cmq c'è un modo + veloce per leggere i ws con asp.

    io personalmente ci sono riuscito. sono quasi vicino a far leggere un dataset ad asp. se riesco (2 weeks) ad effettuare una conversione basata su schema affidabile posto il codice.
    bona
    Mi daresti qualche input in merito?

  5. #5
    come ho detto prima sarebbe interessante sapere che tipi di dati ti aspetti che ritorni il tuo ws in un ambiente di release (in questo modo ti posso subito dire se è fattibile o no). Sta di fatto che per fare una conversione .NET a COM, e quindi da managed a unmanaged code alcune cose le perdi, sopratutto il fattore performance.

    codice:
    REGASM componente.dll /tlb:netcomponent.dll
    ricordati che lo switch /tlb è opzionale, ma è opportuno specificarlo in modo che regasm produca typelibrary che i client COM possono utilizzare per referenziare oggetti .NET attraverso l early binding. In pratica, si può omettere lo switch /tlb e non creare una type library del componente solo se i client COM creano ed utilizzano le istanze della classe .NET esclusivamente attraverso il late binding, per mezzo della funzione CreateObject e di variabili Object (o Variant).

    Ti faccio comunque presente che l SDK .NET offre un ulteriore tool che si può utilizzare per esportare una type library, l utility Type Library Exporter (TlbExp). TlbExp ha lo stesso effetto dell'utilizzo dell'opzione /tlb con RegAsm, ad eccezione che il componente non viene registrato.

    codice:
    TLBEXP componente.dll /OUT:netcomponent.dll
    Se si omette l'opzione /OUT, TlbExp crea una type library con lo stesso nome della DLL sorgente ma con estensione .tlb.

    Potrei stare qui a parlarti ore della conversione (andata e ritorno da Managed a Unmanaged), ma credo che quello che ti ho detto ti basti. Se hai ulterioi problemi fai un fischio che vedo come posso aiutarti.


    Ciao e buon lavoro.

  6. #6
    Ciao, grazie per il tuo post
    Ho provato, e la creazione della nuova DLL va a buon fine, pero' quando tento di usarla in una pagina asp non succede una mazza

    Ho fatto una prova con una semplice DLL con un solo metodo che restituisce una stringa... creata la DLL col sistema che mi hai suggerito, e in una paginetta asp di prova ho scritto qualcosa come

    codice:
        <%
        Set obj=Server.CreateObject("NameSpace.NomeClasse")
    
        Response.write Obj.prova
    
        %>
    Dove prova e' il nome del metodo che restituisce la stringa.
    Non fa una cippa
    Che mi suggerisci?

  7. #7
    Sono riuscito anche con l'aiuto di questa pagina

    http://weblogs.asp.net/dneimke/archi.../31/65330.aspx

    Adesso funziona, ma ho un altro piccolo problema: come cancello dal registry ecc ogni riferimento alla libreria?
    Stranamente se aggiorno il codice nella libreria e ricompilo e rifaccio tutto ecc, la pagina asp funziona come se la libreria non fosse mai cambiata :master:

  8. #8
    Risolto

  9. #9
    Originariamente inviato da Nosophoros
    Risolto
    ottimo

  10. #10
    Originariamente inviato da Jc_
    ottimo
    L'unica palla e' che ogni volta che faccio cambiamenti al codice della dll, devo deregistrare e registrare tutto da capo, inoltre devo riavviare iis altrimenti la pagina asp sembra non accorgersi dei cambiamenti

    Si puo' evitare?

    Un altra cosa: nel progetto della dll in .net ho aggiunto il file app.config, aggiungendovi alcune impostazioni; ma se provo a leggere questi valori e restituirli, per esempio, con un metodo alla pagina asp, vengono restituite soltanto stringhe vuote, ma nessun errore. Qualche idea?

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.