ASP.NET整合Discuz!NT3.5实例说明(含用户登录、评论等)

http://bbs.51aspx.com/showtopic-30029.html#230540

前一阵想做一个团购导航网站,看到某些团购导航站都有论坛,自己也想加一个,研究了下Discuz!NT,发现有API接口,就忽然想到了用Discuz!NT来整合网站,岂不是很方便,会员那部分就不需要自己开发了。

说干就干,下来API的例子和开发包研究了一下,看了一遍仍然是一头雾水,不知道是不是自己太笨。而且发现API还有错误,来官方论坛求助貌似没有得到回答,看来还是只能靠自己啊。看了N遍终于明白了大概,整个API都熟悉了一下使用方法,发现API虽然方便但是的问题多多,其中用户登录后跳转行为(不停的跳来跳去,效率太低,影响搜索引擎收录)还有“Code: 103, Message: 当前会话所提交的call_id没有大于前一次的call_id”错误,更是让我彻底对API无语郁闷,最后只好采用第二套方法下载源码自己整合+Discuz!NT API。

还好Discuz!NT是开源程序,否则我真放弃使用了,说下我的网站徐州86516团购导航http:/www.86516tuan.com,可以看到我主要整合了用户的登录状态和登录信息的获取(登录和注册都在论坛完成)、登录后退出、用户的评论、自动发帖以及系统后台的计划任务等,下面一一介绍一下在整合方法,需要Discuz!NT的DLL,我是把所有的DLL都放到自己网站的bin目录下,附上代码。

1、用户的登录状态和登录信息的获取

  1. using Discuz.Forum;
  2. using Discuz.Entity;
  3. string discuzName = string.Empty;
  4. if (Request.Cookies["dnt"] != null)
  5. {
  6. //已经登录
  7. int uid = Convert.ToInt32(Request.Cookies["dnt"]["userid"]);
  8. //获取登录用户信息
  9. UserInfo info = Users.GetUserInfo(uid);
  10. if (info != null)
  11. {
  12. discuzName = info.Username;
  13. }
  14. else
  15. {
  16. DiscuzSession ds = DiscuzSessionHelper.GetSession();
  17. ds.Logout(string.Empty);
  18. }
  19. }
  20. else
  21. {
  22. //未登录
  23. }

复制代码

2、登录后退出,需要API的DiscuzToolKit开发包的dll,下载地址是:http://nt.discuz.net/showtopic-81187.html

  1. using Discuz.Toolkit;
  2. DiscuzSession ds = DiscuzSessionHelper.GetSession();
  3. ds.Logout(string.Empty);

复制代码

3、自动发帖,我每采集一条团购数据就会给Discuz!NT论坛发一个帖子,同时两边利用ID对应上
比如:http://www.86516tuan.com/goods/787.htmlhttp://www.86516tuan.com/bbs/showtopic-817.aspx
自动创建主题采用的也是API,方法如下,具体参数请参考官方API开发指南

  1. DiscuzSession ds = DiscuzSessionHelper.GetSession();
  2. TopicCreateResponse tcr = ds.CreateTopic(uid, title, fid ,message,tags,type_id);

复制代码

4、获取用户评论,采用官方API

  1. DiscuzSession ds = DiscuzSessionHelper.GetSession();
  2. TopicGetRencentRepliesResponse trr = ds.GetRecentReplies(fid, tid, page_size, page_index);

复制代码

5、发表新评论,这里是当初没有彻底采用API的主要原因,API需要不停跳转验证用户。经过研究源码,自己写出来评论功能,主要调用官方的存储过程“dnt_createpost1‘,由于参数过多,这里就不写代码了,主要就是给参数赋值,用户数据可以根据上面获取用户信息的方法来获得,另外还可以在官方下载数据字典,来确定参数功能。

时间: 2024-08-10 15:01:05

ASP.NET整合Discuz!NT3.5实例说明(含用户登录、评论等)的相关文章

3、VS2010+ASP.NET MVC4+EF4+JqueryEasyUI+Oracle项目开发之——用户登录

最近由于项目赶着上线,一直没时间接着写博客,今天终于空出了时间.声名:我不是专业美工,所以界面问题,希望大家不要拍砖.登录界面如下: 在ASP.NET MVC中,要新增一个功能,我们首先要添加一个控制器,AccountController.cs,添加方法:右键单击Controllers文件夹, /// <summary> /// 登录页面 /// </summary> /// <returns></returns> public ActionResult I

三、Asp.Net MVC4.0开发CMS系统案例之用户登录模块开发

本次开发是将三层架构与MVC结合一起来,我们看下面一个系统结构: View ->Contraller->Model->BLL->DAL->SQLSERVER |        |        | ----------->Extensions----->FrameWork | __>Common Extensions包括扩展类功能,例如控件的再重新,权限的重新验证等.Common是一些公共性功能. 第一步:创建用户登录模型,可以与注册模型类(SysComUe

asp.net -mvc框架复习(8)-实现用户登录模型部分的编写

1.配置文件添加数据库连接字符串(web.config) 2.编写通用数据库访问类 (1)引入命名空间 using System.Configuration; (2) 定义连接字符串 (3)编写完成 3.编写数据库访问类

asp.net -mvc框架复习(9)-实现用户登录控制器和视图的编写并调试

1.编写控制器 三个步骤: [1]获取数据 [2]业务处理 [3]返回数据 using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc; using MvcLoginDemo.Models; namespace MvcLoginDemo.Controllers{ public class SysAdminController : Controller {

.NET跨平台之旅:ASP.NET Core从传统ASP.NET的Cookie中读取用户登录信息

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 在解决了asp.net core中访问memcached缓存的问题后,我们开始大踏步地向.net core进军--将更多站点向asp.net core迁移,在迁移涉及获取用户登录信息的站点时,我们遇到了一个问题--如何在asp.net core

Discuz!NT3.6与网站整合(操作用户信息)解决方案

先说下我需要解决的场景是: 主站http://h31bt.com需要调用论坛BBS的用户信息,而不是单独再建立一套用户信息,论坛的域名是bbs.h31bt.com,两个不在主机的同一文件目录下,所以需要解决跨域的问题, 特此记录一下如何解决这方面的问题的. 下面是我的一个解决办法,没有采用第三方的SDK的方式. 1.将下载编译好的论坛放在服务器上的论坛文件夹下,用bbs.域名访问就可以了. 2.操作主站的ASP.net代码,引入4个DLL到项目中,分别是: using Discuz.Common

drupal7整合Discuz康盛UC用户中心ucenter,ucuser模块

drupal7整合Discuz康盛UC用户中心ucenter,ucuser模块Drupal7整合UC用户心的模块,ucenter,康盛这个用户中心我就不多说了哈.参考了以前不知在哪里下载的一个drupal6整合uc的模块,修改了一些实现方法,适合drupal7使用.uc配置文件 config.inc.php  .下载见附件. 实现的功能:注册,登录,修改密码.邮箱,删除用户.uc的用户ID和drupal的用户ID用一个数据表关联.drupal接受uc通知的地址: 注册:drupal上注册后用户信

Spring2.5整合Ibatis入门级开发实例

分类: SPRING IBATIS2010-11-22 20:19 1170人阅读 评论(0) 收藏 举报 ibatisspringstringpropertiesclassuser 最近一直在看spring和ibatis的东西,由于目前SSH的流行,大多讲Spring和Hibernate的整合开发,作者一直对Hibernate不是很感冒,也许是因为日常开发程序对性能要求比较高,和Hibernate比较起来Ibatis更合适.虽然网络上有很多讲Spring和Ibatis整合的文章,但查看了许多,

项目整合Discuz UCenter

虽然个人非常不喜欢discuz,但没办法,市场就是力量,特别是对于整合discuz论坛的朋友,你如果不想用两套系统的话,整合UCenter是必然的事,虽然无趣,但不得不这么做. 一.准备工作 1.uc api说明书,通读全文.参考http://faq.comsenz.com/library/UCenter/introduction/introduction_list.htm 2.uc 后台添加应用说明.参考http://faq.comsenz.com/viewnews-506(官方) http: