Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πρόβλημα με τη χρήση του Profile

Îåêßíçóå áðü ôï ìÝëïò DeClen. Τελευταία δημοσίευση από το μέλος DeClen στις 13-02-2007, 11:58. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  12-02-2007, 15:00 24879

    Πρόβλημα με τη χρήση του Profile

    Χαίρετε,

    Τον τελευταίο καιρό δουλεύω (- μαθαίνω -) το security namespace της ASP.NET. Τα πράγματα πηγαίνουν αρκετά καλά και έχω καταφέρει να ενσωματώσω στο project μου λειτουργίες membership και roles.

    Το σχήμα της βάσης ASPNETDB.MDF το έχω ενσωματώσει σε μια υπάρχουσα SQL Express βάση που χρησιμοποιώ κάνοντας χρήση του εκτελέσιμου apsnet_regsql.exe από το φάκελο του .NET Framework. Οι λειτουργίες membership και roles δουλεύουν μια χαρά. Δεν μπορώ όμως με τίποτα να δουλέψω με profiles (θεωρητικά αυτό είναι το πιο εύκολο!). Παρακάτω παραθέτω το web.config αρχείο μου.

    <?xml version="1.0"?>

    <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

    <appSettings/>
    <connectionStrings>
        <add name="myConnection"
            
    connectionString="Data Source=CHAOS_MACHINE\SQLEXPRESS;Initial Catalog=TestDatabaseI;Integrated Security=True"
             providerName="System.Data.SqlClient" />
    </connectionStrings>

    <system.web>

    <!-- Deny access to anonymous users -->
    <authorization>
        <deny users="?" />
        <allow users="*"/>
    </authorization>

    <compilation debug="true" strict="false" explicit="true" />
    <pages>
    <namespaces>
    <clear />
    <add namespace="System" />
    <add namespace="System.Collections" />
    <add namespace="System.Collections.Specialized" />
    <add namespace="System.Configuration" />
    <add namespace="System.Text" />
    <add namespace="System.Text.RegularExpressions" />
    <add namespace="System.Web" />
    <add namespace="System.Web.Caching" />
    <add namespace="System.Web.SessionState" />
    <add namespace="System.Web.Security" />
    <add namespace="System.Web.Profile" />
    <add namespace="System.Web.UI" />
    <add namespace="System.Web.UI.WebControls" />
    <add namespace="System.Web.UI.WebControls.WebParts" />
    <add namespace="System.Web.UI.HtmlControls" />
    </namespaces>
    </pages>

    <!-- Set authentication type to Forms -->
    <authentication mode="Forms">
        <forms name=".myTransAuthCookie" loginUrl="~/Login.aspx" protection="All" timeout="10" />
    </authentication>

    <!--Enable Profiles-->
    <profile enabled="true" defaultProvider="myProfileProvider">
    <providers>
        <add name="myProfileProvider"
            type="System.Web.Profile.SqlProfileProvider"
            connectionStringName="myConnection"
            applicationName="/" />
    </providers>

    <
    properties>
        <add name="myTest" serializeAs="String"/>
    </properties>
    </profile>

    <!-- Enable Roles -->
    <roleManager enabled="true" defaultProvider="myRoleProvider">
    <providers>
    <add name="myRoleProvider"
         type="System.Web.Security.SqlRoleProvider"
         connectionStringName="myConnection" />
    </providers>
    </roleManager>

    <!-- Enable Memberships -->
    <membership defaultProvider="myMembershipProvider">
    <providers>
    <add name="myMembershipProvider"
         type="System.Web.Security.SqlMembershipProvider"
         connectionStringName="myConnection" />
    </providers>
    </membership>
    </system.web>
    </configuration>


    Όπως φαίνεται το <!-- enable profiles --> έχω ενεργοποιήσει την λειτουργία και έχω ορίσει και το property myTest.

    Παρόλα αυτά στον κώδικα των .aspx σελίδων μου δεν έχω intellisense για το Profile. Αν το παραβλέψω αυτό και γράψω

    Profile.myTest = "blablabla"

    Το VS μου επιστρέφει λάθος ότι το myTest δεν είναι member του Profile.

    Ρε παιδιά μηπως έχετε υπόψη τι μπορεί να πηγαίνει στραβά, γιατί έχω σπάσει το κεφάλι μου αλλά δεν μπορώ να καταλάβω τι γίνεται (ξαναλέω ότι οι λειτουργίες membership και roles δουλεύουν άψογα!)

    Ευχαριστώ.Smile
  •  12-02-2007, 15:17 24881 σε απάντηση της 24879

    Απ: Πρόβλημα με τη χρήση του Profile

    Με το συγκεκριμένο web.config που δοκιμάζεις κάνει build το project?

    Το serializeas sting δεν χρειάζεται μιας και το default είναι το String. Κατά τα άλλα δεν μπορώ να βρώ κάτι λάθος. Μπορείς να βεβαιωθείς ότι υπάρχει ο πίνακας που κραταέι τα profile properties στη βάση? Noμίζω είναι ο aspnet_profile.

    Από κει και πέρα βεβαιώσου ότι δεν έχεις κάποιο confict με providers δηλωμένους στο machine.config.

    Το βράδυ θα ελέγξω τον κώδικα που χρησιμοποιώ εγώ και δουλεύει και θα σου πώ αν υπάρχει κάποια απόκλιση.


    Simple Photography
  •  12-02-2007, 15:47 24884 σε απάντηση της 24881

    Απ: Πρόβλημα με τη χρήση του Profile

    Ναι το project κάνει build κανονικά.

    Όσον αφορά τον πίνακα του profile properties (ναι, ο aspnet_Profile είναι) και αυτός υπάρχει στη βάση.

    Δεν ξέρω αν θα βοηθήσει καθόλου αυτό που θα πω, αλλά υπάρχει κάτι "περίεργο" με το web.config μου.

    Το VS μου εμφανίζει κάποια μηνύματα (όχι errors, ούτε warnings αλλά messages). Τα messages αυτά αναφέρονται σε κάθεμια από τις γραμμές του web.config με την επισήμανση

    Could not find schema information for the element...
    Could not find schema information for the attribute...


    Δεν ξέρω αν αυτό λέει κατι αλλά δεν μου δημιουργεί κάποιο πρόβλημα στο build ή στην λειτουργικότητα.
  •  13-02-2007, 11:58 24922 σε απάντηση της 24884

    Απ: Πρόβλημα με τη χρήση του Profile

    Λοιπόν, είχαμε κάποια εξέλιξη στο ζήτημα...

    Παρατήρησα ότι αν δημιουργήσω ένα "Asp.ΝΕΤ Web Site" και όχι "Asp.ΝΕΤ Web Application" και περάσω μέσα ακριβώς το ίδιο web.config το Profile λειτουργεί κανονικότατα! Tongue Tied

    Το πρόβλημα δημιουργείται μόνο όταν το project έχει τη μορφή του asp web application. Από ότι παρατήρησα η διαφορά των web sites και web applications είναι ότι στα web applications εμφανίζονται 2 επιπλέον φάκελοι, οι MyProject και References.

    Από ότι μπορώ να συμπεράνω κάποιο πρόβλημα δημιουργείται εκεί μέσα. Τώρα όμως το πως μπορώ να ξεδιαλύνω την κατάσταση ομολογώ πως δεν το ξέρω. Sad

    (σ.σ. να σημειώσω ότι το web.config το ισχυροποίησα περισσότερο περνώντας μέσα και κάποια <remove name...> tags ούτως ώστε να μην υπάρχει κάποιο confict με το machine.config.

    Καμμιά ιδέα;




Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems