webForumDet fria alternativet

Profiles i en 'web application'

.NET

2 svar · 493 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#1

Testade alla möjliga olika sätt att få profiles att funka i ett web application project men gick bet tills jag googlade upp en sida som berättade att det är en bugg som gör att klasserna som används inte automatiskt genereras, som de gör i en vanlig 'web site', men, men, nu är den biten löst! :l
(här finns mer info om buggen. http://forums.asp.net/p/1026448/1400035.aspx)

Nu till problemet:
Det funkar bra att anropa Profile så länge koden ligger på samma sida så här:

public partial class _Default : BasePage
    {
        
        protected void Page_Load(object sender, EventArgs e)
        {
           
        }

        private WebProfile Profile
        {
            get { return new WebProfile(Context.Profile); }
        }

        protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
        {
            Profile.FirstName = ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("FirstName")).Text;
            Profile.LastName = ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("LastName")).Text;
            Profile.Save();   
        }
    }

Men jag ville lyfta ur Profile till min basklass (BasePage) som jag ärver på sidorna men då får jag felmess: This property cannot be set for anonymous users
Vad kan det bero på?

Så här ser raden ut som den stannar på (koden är automatiskt genererad)

public virtual void SetPropertyValue(string propertyName, object propertyValue) {
            this._profileBase.SetPropertyValue(propertyName, propertyValue);
        }

Det är förnamnet den stannar på.
Tittar jag i databasen så har användaren skapats ändå utan mina egna egenskaper (för- och efternamn)

Visst borde jag väl kunna lyfta ur koden ur sidan:

private WebProfile Profile
        {
            get { return new WebProfile(Context.Profile); }
        }

till min BasePage och göra den public istället på nått vis?

Medlem sedan dec. 19996 721 inlägg
#2

Det är inte direkt en bugg, utan en naturlig följd av att WAP inte kompileras dynamiskt på det sätt som WS gör.

Beträffande ditt problem (du måste berätta för profilen att du inte är anonym, genom Initialize), som definitivt är en bugg:

http://www.andornot.com/about/developerblog/2007/01/interesting-wap-quirk-87.aspx

Medlem sedan juni 20003 076 inlägg
#3

Suvve!
Tack emission. :bire

(Det var fel uttryckt av mig om buggen, jag såg det när jag läste på lite mer!)

266 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)