Я новичок в ASP.Net. Я использую первый метод базы данных Entity Framework. Мне нужно сохранить данные в моей базе данных MUSIC в таблице LogTable. Я пробовал много способов. Ничего не работает. Наконец я попытался это:Ничего не записывается в базу данных
в Login.aspx
using System;
using System.Configuration;
using System.Web;
using System.Web.UI;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using Microsoft.Owin.Security;
using MusicShop.Models;
namespace MusicShop.Pages.Accounts
{
public partial class Login : Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnLogin_OnClick(object sender, EventArgs e)
{
var userStore = new UserStore<IdentityUser>();
userStore.Context.Database.Connection.ConnectionString =
ConfigurationManager.ConnectionStrings["MUSICConnectionString"].ConnectionString;
var manager = new UserManager<IdentityUser>(userStore);
var user = manager.Find(txtUserName.Text, txtPassword.Text);
if (user != null)
{
InsertUserLog();
var authenticationManager = HttpContext.Current.GetOwinContext().Authentication;
var userIdentity = manager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie);
authenticationManager.SignIn(new AuthenticationProperties
{
IsPersistent = false
}, userIdentity);
Response.Redirect("~/Index.aspx");
}
else
{
litStatus.Text = "Invalid username or password";
}
}
private void InsertUserLog()
{
LogModel model = new LogModel(); //Add a new model
var logtable = new LogTable
{
IP = Request.ServerVariables["REMOTE_ADDR"].ToString(),
//You could set a break point to check the value.
AGENT = Request.ServerVariables["http_user_agent"].ToString(),
REQM = Request.ServerVariables["request_method"].ToString(),
SERVER = Request.ServerVariables["server_name"].ToString(),
PORT = Request.ServerVariables["server_port"].ToString(),
SW = Request.ServerVariables["server_software"].ToString(),
DNS = Request.ServerVariables["REMOTE_HOST"].ToString()
};
//set value
var error = model.InsertLog(logtable);
if (error != null) Response.Write(error);
}
}
}
в LogModel.cs
public string InsertLog(LogTable logTable)
{
try
{
MUSICEntities db = new MUSICEntities();
db.LogTables.Add(logTable);
db.SaveChanges();
return null;
}
catch (Exception e)
{
return "Error:" + e;
}
}
Нет ошибок. Но в базу данных ничего не добавляется. Может ли кто-нибудь вести меня? Пожалуйста, простите меня, если это глупая ошибка.
Все еще ничего. Нет ошибки –
@AmruthaAJ Можете ли вы разместить больше кода Login.aspx .. вы уверены, что этот код работает? вы можете установить контрольную точку, чтобы убедиться, что она выполняется. – scartag
код запущен. Все остальные таблицы, кроме LogTable, заполняются, когда пользователь регистрируется в –