Я пытаюсь использовать профиль ASP. NET для сохранения пользовательских данных со значением по умолчанию machine.config
(. Net Framework 4.5.2) в файле web.config. Добавлен только сайт.
<system.web>
<profile>
<properties>
<add name="AddressInfo" type="UserAddress" serializeAs="Binary"/>
</properties>
</profile>
</system.web>
Я протестировал его с помощью простого кода (на странице 3 TextBox и Button)
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
GetUserAddress();
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
// Database writes happening here!
Profile.AddressInfo.City = txtCity.Text;
Profile.AddressInfo.Street = txtStreetAddress.Text;
Profile.AddressInfo.State = txtState.Text;
// Get settings from database.
GetUserAddress();
}
private void GetUserAddress()
{
// Database reads happening here!
lblUserData.Text = String.Format("You live here: {0}, {1}, {2}",
Profile.AddressInfo.Street, Profile.AddressInfo.City,
Profile.AddressInfo.State);
}
}
[Serializable]
public class UserAddress
{
public string Street = string.Empty;
public string City = string.Empty;
public string State = string.Empty;
}
Приложение запущено, "OnClick" без ошибок выполняет методы (btnSubmit_Click(...)
и GetUserAddress()
) и обновляет значение lblUserData
Label, но ничего не пишет в БД (также не создавал саму БД - ASPNETDB.mdf в папке App_Data Site's). После повторного открытия страницы соответствующих свойств профиля и lblUserData
Метка была пуста.