usercheckhttphandler.cs

来自「ASP.NET简洁论坛源代码 这是一个简单的论坛」· CS 代码 · 共 75 行

CS
75
字号
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Collections;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.Caching;
using System.Web.SessionState;
using System.Text;
using NetFocus.Web.Core;
using NetFocus.Web.Core.Providers;

namespace NetFocus.Web.Applications.Forum
{
    public class UserCheckHttpHandler : IHttpHandler, IRequiresSessionState
    {
        private bool CheckName(string userName)
        {
            return ForumUsers.GetUser(userName) == null;
        }

        public void ProcessRequest(HttpContext context)
        {
            try
            {
                string userName = context.Request.QueryString["user"];

                if (CheckName(userName))
                {
                    context.Response.Output.Write("false");
                    context.Response.End();
                }
                else
                {
                    Random r = new Random();

                    int num1, num2, num3;

                    num1 = r.Next(1, 99);
                    while (!CheckName(userName + num1.ToString()))
                    {
                        num1 = r.Next(1, 99);
                    }

                    num2 = r.Next(1, 99);
                    while (num1 == num2 || !CheckName(userName + num2.ToString()))
                    {
                        num2 = r.Next(1, 99);
                    }

                    num3 = r.Next(1, 99);
                    while (num1 == num3 || num2 == num3 || !CheckName(userName + num3.ToString()))
                    {
                        num3 = r.Next(1, 99);
                    }

                    context.Response.Output.Write(string.Format("true|{0}{1},{0}{2},{0}{3}", userName, num1.ToString(), num2.ToString(), num3.ToString()));
                    context.Response.End();
                }

            }
            catch { }

        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }

    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?