【发布时间】:2023-04-04 02:56:01
【问题描述】:
我昨晚整晚都在寻找一个免费的 AspNet 网络聊天控件,我可以简单地将它拖到我的网站中。好吧,搜索是徒劳的,因为我找不到符合我需求的控件,即用户列表、一对一聊天、踢出用户的能力..
最后我决定从头开始创建自己的控件。虽然它在我的机器上运行良好,但我担心它在共享托管环境中可能有点粗糙和不实用。
基本上这就是我所做的:
- 创建了一个用于存储聊天消息的 sql 数据库。
- 编写了存储过程并包含了一条清除旧消息的语句
然后是“粗”部分:
- 在我的页面上拖动更新面板和计时器控件
- 将一个Repeater 数据绑定到更新面板内的聊天消息表中
- 拖动另一个更新面板并在其中放置一个文本框和一个按钮
- 将计时器控件配置为每 5 秒计时一次。
..然后我让这一切都像这样工作 在计时器滴答事件中,我通过在中继器上调用 Databind() 来“刷新”消息显示,即
protected void Timer1_Tick(object sender, EventArgs e)
{
MyRepeater.DataBind();
}
然后在我的发送按钮点击事件中
protected void btnSend_Click(object sender, EventArgs e)
{
MyDataLayer.InsertMessage(Message, Sender, CurrTime);
}
嗯,它在我的机器上运行良好,并且我通过简单地创建更多表来获得其他功能(用户列表,踢出用户..)。
但就像我说的那样,这对我来说似乎有点粗糙。所以我需要一个专业的意见。我应该用这个运行还是尝试另一种方法?
【问题讨论】: