记录一次VS2010简单开发部署ASP .net3.5

1.先创建一个web工程

2. 添加一般处理程序(简单json交换数据)

3.编写代码,导入引用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Collections;
using WebApplication1.entity;
using System.Web.Script.Serialization;

namespace WebApplication1
{
    /// <summary>
    /// Handler1 的摘要说明
    /// </summary>
    public class Handler1 : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            string ipList=context.Request.Params["ipList"];          
            //string[] args = new string[] { "192.168.5.244:4370" };
            string[] args = ipList.Split(new Char[] { ',' });
            context.Response.ContentType = "text/json";
            context.Response.Write(getInfo(args));
            //context.Response.Write("Hello World");
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }

        private string getInfo(string[] args)
        {
            //Create Standalone SDK class dynamicly.
            zkemkeeper.CZKEMClass axCZKEM1 = new zkemkeeper.CZKEMClass();
            //args = new string[] {"192.168.5.244:4370" };
            ArrayList ret = new ArrayList();//所有考勤数据
            ArrayList disconnect = new ArrayList();//所有断线机器
            BaseResponse response = new BaseResponse();
            foreach (string arg in args)
            {

                String total = arg.Trim();
                //连接所有考勤机
                String ip = null;
                String port = "4370";//端口默认4370
                int idx = total.IndexOf(":");
                if (idx == -1)
                {
                    ip = arg.Trim();
                }
                else
                {
                    port = total.Substring(idx + 1);
                    ip = total.Substring(0, idx);
                }
                bool bIsConnected = axCZKEM1.Connect_Net(ip, Convert.ToInt32(port));
                int iMachineNumber = 1;//In fact,when you are using the tcp/ip communication,this parameter will be ignored,that is any integer will all right.Here we use 1.
                if (!bIsConnected)
                {
                    disconnect.Add(ip + ":" + port);
                    continue;
                }
                //Console.WriteLine(bIsConnected + "连接!!!!!");

                axCZKEM1.EnableDevice(iMachineNumber, false);//disable the device

                /***************************************读取所有用户信息********************************************/
                Hashtable userMap = new Hashtable();
                string sdwEnrollNumber = "";
                string name = "";
                string password = "";
                int privilege = 0;
                bool enabled = true;

                if (axCZKEM1.ReadAllUserID(iMachineNumber))
                {
                    while (axCZKEM1.SSR_GetAllUserInfo(iMachineNumber, out sdwEnrollNumber, out name, out password, out privilege, out enabled))
                    {
                        UserInfo userInfo = new UserInfo();
                        userInfo.userId = sdwEnrollNumber;
                        userInfo.userName = name;
                        userInfo.password = password;
                        userInfo.privilege = privilege;
                        userInfo.enabled = enabled ? 1 : 0;
                        userMap.Add(sdwEnrollNumber, userInfo);
                    }
                }


                /***************************************读取时间段内的登录数据********************************************/
                sdwEnrollNumber = "";
                int idwVerifyMode = 0;
                int idwInOutMode = 0;
                int idwYear = 0;
                int idwMonth = 0;
                int idwDay = 0;
                int idwHour = 0;
                int idwMinute = 0;
                int idwSecond = 0;
                int idwWorkcode = 0;
                int idwErrorCode = 0;
                int iGLCount = 0;
                int iIndex = 0;

                DateTime cur = DateTime.Now;
                DateTime end = cur.AddDays(1);
                DateTime start = cur.AddDays(-3);

                string format = "yyyy-MM-dd HH:mm:ss";
                if (axCZKEM1.ReadTimeGLogData(iMachineNumber, start.ToString(format), end.ToString(format)))//read all the attendance records to the memory
                {
                    while (axCZKEM1.SSR_GetGeneralLogData(iMachineNumber, out sdwEnrollNumber, out idwVerifyMode,
                               out idwInOutMode, out idwYear, out idwMonth, out idwDay, out idwHour, out idwMinute, out idwSecond, ref idwWorkcode))//get records from the memory
                    {
                        iGLCount++;
                        //Console.WriteLine(iGLCount.ToString());
                        //Console.WriteLine(sdwEnrollNumber);//modify by Darcy on Nov.26 2009
                        //Console.WriteLine(idwVerifyMode.ToString());
                        //Console.WriteLine(idwInOutMode.ToString());
                        //Console.WriteLine(idwYear.ToString() + "-" + idwMonth.ToString() + "-" + idwDay.ToString() + " " + idwHour.ToString() + ":" + idwMinute.ToString() + ":" + idwSecond.ToString());
                        //Console.WriteLine(idwWorkcode.ToString());
                        //Console.WriteLine(sdwEnrollNumber + " " + idwVerifyMode + " "+idwInOutMode+" "+idwYear.ToString() + "-" + idwMonth.ToString() + "-" + idwDay.ToString() + " " + idwHour.ToString() + ":" + idwMinute.ToString() + ":" + idwSecond.ToString()+" ");
                        AttendanceMachineLogin attendanceMachineLogin = new AttendanceMachineLogin();
                        string loginTime = idwYear.ToString() + "-" + idwMonth.ToString() + "-" + idwDay.ToString() + " " + idwHour.ToString() + ":" + idwMinute.ToString() + ":" + idwSecond.ToString();
                        attendanceMachineLogin.ip = ip + ":" + port;
                        attendanceMachineLogin.userId = sdwEnrollNumber;
                        attendanceMachineLogin.inOutMode = idwInOutMode;
                        attendanceMachineLogin.verifyMode = idwVerifyMode;
                        attendanceMachineLogin.loginTime = loginTime;
                        if (userMap[sdwEnrollNumber] != null)
                        {
                            UserInfo userInfo = (UserInfo)userMap[sdwEnrollNumber];
                            attendanceMachineLogin.privilege = userInfo.privilege;
                            attendanceMachineLogin.userName = userInfo.userName;
                            ret.Add(attendanceMachineLogin);
                        }
                        iIndex++;

                    }
                }


                /******************************************转成json字符串********************************************/
                //axCZKEM1.GetLastError(ref idwErrorCode);
                axCZKEM1.EnableDevice(iMachineNumber, true);//enable the device
                axCZKEM1.Disconnect();
            }
            response.machineLogins = ret;
            response.machineDisconnect = disconnect;
            //JsonConvert
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            //JSON序列化
            string result = serializer.Serialize(response);
            return result;
        }
    }
}

4.生成部署包

4.1生成zip部署包

4.2或者发布到文件系统

Asp.net 网站发布之文件系统方式 - 德玛西亚冲锋 - 博客园

 5.配置IIS

5.1开启ASP .NET3.5服务

ISS部署网站--HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。 - 姜小珂 - 博客园

 5.2新建一个网站并选择引用池

 因为是vs2010默认创建32位服务,所以应用要如上设置

 部署包解压后进入该目录,将该目录下的所有文件复制到其他一个目录。

在右键添加引用程序,选择该目录,或者右键——>部署——>导入应用程序,直接选择上面的zip文件 

 

 6.访问

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值