本系列实现目的:基于Photon Server实现注册于登录

一、拷贝Nbibernate项目的文件到MyGamerServer项目中。

二、数据库新建表,结构如下

三、修改文件名和配置

  (1)、将拷贝的文件修改一下名字(不是必须)。修改为与User相关的。注意:修改文件下的包名也得修改,由 Nbibernate.l 修改为MyGameServer.

 (2)、Model文件调整。目录 Model/下的User.cs文件字段修改为与数据库users表字段相同

namespace MyGameServer.Model
{
public class User
{
//字段跟数据库表列一样
public virtual int Id { get; set; }
public virtual string UserName { get; set; }
public virtual string Password { get; set; }
public virtual string RegisterDate { get; set; }
}
}

(3)、映射文件 Mappings/ 目录下的User.hbm.xml 修改

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="MyGameServer"
namespace="MyGameServer.Model"> <class name="User" table="users">
<id name="Id" column="id" type="Int32">
<generator class="native" />
</id>
<property name="UserName" column="username" type="String" />
<property name="Password" column="password" type="String" />
<property name="RegisterDate" column="registerdate" type="String" />
</class> </hibernate-mapping>

 (4)、NHibernateHelper.cs修改

using NHibernate;
using NHibernate.Cfg; namespace MyGameServer
{
public class NHibernateHelper
{
private static ISessionFactory _sessionFactory; private static ISessionFactory SessionFactory
{
get
{
if (_sessionFactory == null)
{
var config = new Configuration();
config.Configure(); //解析nhibernate.cfg配置文件
config.AddAssembly("MyGameServer"); //解析 映射文件 ,修改为当前项目 _sessionFactory = config.BuildSessionFactory();
} return _sessionFactory;
}
} public static ISession OpenSession()
{
////打开一个跟数据库的回话
return SessionFactory.OpenSession();
}
}
}

四、测试一下

  在项目文件 MyGameServer.cs文件Setup()方法中添加测试代码

   //服务器启动时调用
protected override void Setup()
{
LogManager.SetLoggerFactory(Log4NetLoggerFactory.Instance);
GlobalContext.Properties["Photon:ApplicationLogPath"] = Path.Combine(ApplicationRootPath, "log");
GlobalContext.Properties["LogFileName"] = "MySer_" + ApplicationName;
XmlConfigurator.ConfigureAndWatch(new FileInfo(Path.Combine(BinaryPath, "log4net.config"))); log.Info("MyGameServer start----------"); //测试数据库代码
UserManager userManager = new UserManager();
User user = new User(){UserName = "ffff", Password = "dwwww"};
userManager.Add(user);
}

重新编译项目,将bin/Debug 下的文件拷贝到服务器上  deploy/MyGameServer/bin/ 目录下。(可能需要先停止服务)。在启动服务,查看数据库。

Photon Server 实现注册与登录(一) --- Hibernate整合到项目中的更多相关文章

  1. Photon Server 实现注册与登录(二) --- 服务端代码整理

    一.有的代码前端和后端都会用到.比如一些请求的Code.使用需要新建项目存放公共代码. 新建项目Common存放公共代码: EventCode :存放服务端自动发送信息给客户端的code Operat ...

  2. Photon Server 实现注册与登录(三) --- 前端UI设计和发起请求

    一.打开之前的测试项目.先将服务端代码编译一下,在 bin/Debug/目录下会发现有一个Common.dill.我们相应导入到前端使用.直接拖拽到相应地方 UI相应布局属于前端操作,这里就不做介绍了 ...

  3. Photon Server 实现注册与登录(四) --- 服务端响应登陆和注册

    前面已经整理过了服务端代码,MyGameServer.cs 和 ClientPeer.cs 对请求和响应进行了拆分.接下来处理对前端的响应 一.响应登陆请求 之前整理中,响应前端请求主要在类Clien ...

  4. Photon Server 实现注册与登录(五) --- 服务端、客户端完整代码

    客户端代码:https://github.com/fotocj007/PhotonDemo_Client 服务端代码:https://github.com/fotocj007/PhotonDemo_s ...

  5. 2017.6.30 用shiro实现并发登录人数控制(实际项目中的实现)

    之前的学习总结:http://www.cnblogs.com/lyh421/p/6698871.html 1.kickout功能描述 如果将配置文件中的kickout设置为true,则在另处再次登录时 ...

  6. Photon Server 服务端编程

    Photon Server 和 Unity3D 数据交互: Photon Server 服务端编程 Unity3D 客户端编程 VS2017 之 MYSQL实体数据模 一:Photon Server的 ...

  7. 使用JFinal框架连接数据库,实现注册、登录功能

    使用JFinal框架连接数据库,实现注册.登录功能 1.在Eclipse中新建Dynamic Web project项目 2.导入jfinal-2.2-bin-with-src.jar.c3p0-0. ...

  8. Bootstrap实战 - 注册和登录

    一.介绍 注册和登录在社交和商业网站中是必不可少的一个部分. 二.知识点 2.1 标签页 2.1.1 基础标签页 标签页的使用与导航栏类似,同时都依赖于基础样式 nav,不同的是附加样式变成了 nav ...

  9. Vue.js——使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用

    概述 上一篇我们介绍了如何使用vue resource处理HTTP请求,结合服务端的REST API,就能够很容易地构建一个增删查改应用.这个应用始终遗留了一个问题,Web App在访问REST AP ...

随机推荐

  1. windows游戏编程鼠标

    ①.常用鼠标消息: WM_MOUSEMOVE           鼠标移动位置 WM_LBUTTONDOWN       鼠标左键按下 WM_LBUTTONUP             鼠标左键弹起 ...

  2. windows环境rabbitmq安装步骤

    windows环境rabbitmq安装步骤: 1 提前安装erl; 2 rabbitmq安装后自动启动; 3 从开始菜单进入rabbit命令窗,启用插件;   下面是命令: 启用插件 rabbitmq ...

  3. Raspberry Pi 4B FTP服务器配置

    目录 1. 安装vsftpd并启动 2. 编辑配置文件 3. 重启服务 4. 测试 5. 为Web服务器添加管理员账户,便于通过ftp网站信息 参考资料:树莓派(raspberry pi)学习之安装f ...

  4. Spring Cloud|高可用的Eureka集群服务

    Eureka,作为spring cloud的服务发现与注册中心,在整个的微服务体系中,处于核心位置.单一的eureka服务,显然不能满足高可用的实际生产环境,这就要求我们配置一个能够应对各种突发情况, ...

  5. 线上bug或故障界定及填写规范

    [线上故障与线上Bug界定] 一.线上故障: 1.  故障参照公司规范稍做调整: a)         1级故障:资讯首页或主App首页无法打开:多条业务线同时不可用:超过15分钟: b)       ...

  6. Ubuntu18.04上安装N卡驱动、CUDA、CUDNN三连

    环境:Ubuntu18.04 显卡驱动真的挺方便的,CUDA和CUDNN还是踩了一些坑2333 1.安装显卡驱动 安装ubuntu更新或sudo apt-get update & sudo a ...

  7. Google Python Style Guide

    https://google.github.io/styleguide/pyguide.html

  8. 花椒直播基于golang的中台技术实践

    https://github.com/gopherchina/conference/blob/master/2019/2.7%20花椒直播基于golang的中台技术实践%20-%20周洋.pdf 花椒 ...

  9. 前端知识点回顾——mongodb和mongoose模块

    mongodb和mongoose模块 数据库 数据库有关系型数据库(MySQL)和非关系型数据库(mongodb),两者的语法和数据存储形式不一样. mySQL 关系型数据库 类似于表格的形式,每一条 ...

  10. centos 7 gitlab安装服务器

    详情见 https://blog.csdn.net/duyusean/article/details/80011540