Dove devo mettere le classi quando si utilizzano Applicazioni Web tipo di progetto di Visual Studio .NETTO, invece di un Sito web? (ASP.NET)

Ho un sacco di esperienza di creazione di ASP.NET Siti web in Visual Studio. Ma c’è un modo alternativo per fare la stessa cosa che è attraverso le Applicazioni Web, che hanno leggermente diversa struttura dei file.

Da quando ho creato la mia prima Applicazione Web, non riuscivo a usare le classi (.cs file) nella cartella App_Code più, che non sono stati visti dal ASPX e ASHX classi meno che non sono state spostate il file stesso.

Mi capita di usare le stesse classi, attraverso molti file e non voglio avere più copie di loro. Dove devo mettere queste classi? C’è qualche soluzione senza creare un altro progetto?

InformationsquelleAutor Jader Dias | 2009-05-21



7 Replies
  1. 8

    Utilizzando Applicazioni Web tipo di progetto in VS 2008 per tutti i nostri progetti e mettere le nostre classi comuni in AppCode cartella invece di cartella App_Code. Funziona assolutamente bene, possiamo accedere ai nostri corsi in tutte le pagine dell’applicazione senza alcun problema a tutti.

    • Ovviamente questa è una vecchia risposta, ma mi sono appena trasferita a web app e stava avendo difficoltà a capire perché stavo vedendo il principale progetto due volte nella Classe della finestra di Visualizzazione. Potrei non risolvere il problema, non importa quanto I namespace cose. Quando ho cambiato la cartella App_Code nome AppCode, è sparito!!
  2. 7

    Con i Progetti di Applicazione Web si ha molta più libertà. Basta creare sottocartelle sotto il tuo progetto per tenere le lezioni. Per esempio, si potrebbe avere una cartella con nome “DAL” tenere il Livello di Accesso ai Dati elementi.

    Facoltativamente, è possibile creare un progetto complessivo e mettere le vostre classi e di riferimento da WAP.

    In definitiva, la struttura sta per bollire fino a quante classi si avrà.

  3. 2

    Perché non si desidera creare un altro progetto? Questo sarebbe l’approccio più semplice, come tutte le tue classi dovrebbero essere contenute in quella assemblea che si poteva progetto di riferimento nella vostra applicazione web e quindi avere accesso a tutto ciò che nell’intero progetto.

    Mi raccomando che si considera questo approccio.

    • ci sono molte volte quando si ha realmente bisogno di avere 1 o 2 classi che sono troppo specifici e ha senso per loro hanno in progetto di applicazione web. per esempio. abbiamo un BasePage classe [ereditato dal web.interfaccia utente.pagina] che contiene l’applicazione web specifici l’esecuzione di codice in ogni pagina del carico e che invece di usare HTTPContext, ecc in una libreria di classi di, abbiamo semplicemente inserire questa classe nel nostro web app.
    • Vorrei raccomandare questo come bene. Se si dispone di una libreria comune che si utilizza nei diversi progetti – fare la vostra soluzione consiste in tre progetti: La WebApp, l’applicazione di specifiche classi e la libreria generica. Nel modo In cui un progetto di Applicazione Web si suppone che il lavoro (compilazione di prima pubblicazione), questo aiuta.
  4. 1

    Io di solito sono tre progetti all’interno di una soluzione. La web app, il libreria web (pagine di base, ecc) e DAL. Questo tiene tutto pulito.

  5. 1

    Mettere ovunque si desidera. Io tendo a tenere il piccolo progetto-specifiche classi di supporto e pagine di base in un /Aiutanti cartella web del progetto, ma dividere DataLayer roba e multiuso riutilizzabile aiutanti ai propri progetti separati.

  6. 1

    Io uso /Shared/Classes per classi generiche utilizzate in tutto il sito. Mi piace mettere il resto delle classi in un Classi cartella in cui essi sono utilizzati come /blog/Classes/.

    — EDIT–

    La risposta di cui sopra è così che ho memorizzato classi di applicazioni Web Form progetti. Ora che sto usando MVC, memorizzare classi generiche in /Classes e non generale classi in sottocartelle /Classes come /Classes/Blog. In breve, Old_App_Code è stato rinominato Classes. Questo mi sembra una naturale estensione per le convenzioni di denominazione Microsoft utilizzando in MVC plus funziona con il mio vecchio pagine Web Form troppo.

  7. 0

    Mi consiglia di mettere tutte le classi (oggetti del dominio) in un progetto separato. In questo modo, si sarà facilmente in grado di scrivere test contro il tuo livello aziendale (oggetti del dominio) e le classi sarà portatili. Portatile significa che è possibile inviare il tuo DLL da un altro sviluppatore e lui/lei può facilmente riutilizzare i corsi che hai sviluppato.

Lascia un commento