ASP.NET State service状态服务的问题解决方法

异常详细信息: System.Web.HttpException: 无法向会话状态服务器发出会话状态请求。请确保已启动 ASP.NET State service,并且客户端和服务器端口是相同的。如果服务器位于远程计算机上,请检查 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/aspnet_state/Parameters/AllowRemoteConnection 的值,确保服务器接受远程请求。
这是因为ASP.NET State service状态服务没有打开,因此在执行当前 Web 请求期间生成了未处理的异常。
解决方法:
方法一:
右击“我的电脑”-》“计算机管理”-》“服务和应用程序”-》“服务”,在服务中找到ASP.NET状态服务,启动ASP.NET 状态服务,就可以了。
方法二:
web.config中配置SessionState的mode为StateServer,但指定的服务器没有开启那个服务。
改成InProc即可。
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;user id=sa;password="
cookieless="false"
timeout="20"
/>
你是不是使用“StateServer”,如果是,请参考:
使用 StateServer 模式
确保 ASP.NET 状态服务正在将存储会话状态信息的远程服务器上运行。该服务是随 ASP.NET Premium 版一起安装的,并且该服务默认情况下位于 <Drive>:/Program Files/ASP.NET/Premium/version/aspnet_estate.exe。
在应用程序的 Web.config 文件中,设置 mode=StateServer 并设置 stateConnectionString 属性;例如 stateConnectionString="tcpip=sarath:42424"。
方法三:
可能是机器上的杀毒软件在作怪,认为是病毒,不允许页面加载,把杀毒软件关了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是ASP.NET MVC三层架构的增删改查操作的示例代码: 1. Model层代码: ```csharp public class User { public int ID { get; set; } public string Name { get; set; } public string Title { get; set; } } ``` 2. DataAccess层代码: ```csharp public class UserDataAccess { public List<User> GetAllUsers() { using (var context = new UserContext()) { return context.Users.ToList(); } } public User GetUserById(int id) { using (var context = new UserContext()) { return context.Users.FirstOrDefault(u => u.ID == id); } } public void AddUser(User user) { using (var context = new UserContext()) { context.Users.Add(user); context.SaveChanges(); } } public void UpdateUser(User user) { using (var context = new UserContext()) { var oldUser = context.Users.FirstOrDefault(u => u.ID == user.ID); if (oldUser != null) { oldUser.Name = user.Name; oldUser.Title = user.Title; context.SaveChanges(); } } } public void DeleteUser(int id) { using (var context = new UserContext()) { var user = context.Users.FirstOrDefault(u => u.ID == id); if (user != null) { context.Users.Remove(user); context.SaveChanges(); } } } } ``` 3. Service层代码: ```csharp public class UserService { private readonly UserDataAccess _userDataAccess; public UserService() { _userDataAccess = new UserDataAccess(); } public List<User> GetAllUsers() { return _userDataAccess.GetAllUsers(); } public User GetUserById(int id) { return _userDataAccess.GetUserById(id); } public void AddUser(User user) { _userDataAccess.AddUser(user); } public void UpdateUser(User user) { _userDataAccess.UpdateUser(user); } public void DeleteUser(int id) { _userDataAccess.DeleteUser(id); } } ``` 4. Controller层代码: ```csharp public class UserController : Controller { private readonly UserService _userService; public UserController() { _userService = new UserService(); } public ActionResult Index() { var users = _userService.GetAllUsers(); return View(users); } public ActionResult Details(int id) { var user = _userService.GetUserById(id); return View(user); } public ActionResult Create() { return View(); } [HttpPost] public ActionResult Create(User user) { if (ModelState.IsValid) { _userService.AddUser(user); return RedirectToAction("Index"); } return View(user); } public ActionResult Edit(int id) { var user = _userService.GetUserById(id); return View(user); } [HttpPost] public ActionResult Edit(User user) { if (ModelState.IsValid) { _userService.UpdateUser(user); return RedirectToAction("Index"); } return View(user); } public ActionResult Delete(int id) { var user = _userService.GetUserById(id); return View(user); } [HttpPost, ActionName("Delete")] public ActionResult DeleteConfirmed(int id) { _userService.DeleteUser(id); return RedirectToAction("Index"); } } ``` 以上代码实现了对User表的增删改查操作,其中Model层定义了User实体类,DataAccess层实现了对User表的增删改查操作,Service层对DataAccess层进行了封装,Controller层实现了对应的Action方法,用于响应用户的请求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值