2018年1月17日 星期三

[C#] ThreadTimer

using System;

namespace T_API
{    class Thread_GL
    {
        public class Guarder : IDisposable
        {
            //---------------------------------------------------------------
            //Member variable
            //---------------------------------------------------------------

            private System.Threading.Timer ThreadTimer;
            private UInt16 count;
           
            //private  Watchdog wdg;
            //---------------------------------------------------------------
            //Member functions
            //---------------------------------------------------------------

            public void Start()
            {
                count = 0;
                if (ThreadTimer == null)
                {
                    //委派 MainFunction 每10秒執行一次
                    ThreadTimer = new System.Threading.Timer(new System.Threading.TimerCallback(Task), this, 1, 10 * 1000);//10秒

                }
               
            }

            public void Stop()
            {
                if (ThreadTimer != null)
                {
                    ThreadTimer.Dispose();
                    ThreadTimer = null;
                }
               
            }

            ~Guarder()
            {
                this.Dispose();
            }

            public void Dispose()
            {
                Stop();
                GC.SuppressFinalize(this);
            }

            //依據各工作預定時間呼叫Working Thread
            private void Task(object obj)
            {
                this.count++;
                //[Updater]
                //每10秒(1HR)檢查一次

                if (this.count % 1 == 0)
                {

                }
            }
        }

    }
}

2018年1月15日 星期一

Web API controller (1)

using Oracle.ManagedDataAccess.Client;
using System.Collections.Generic;
using System.Data;
using System.Web.Http;

namespace WebApplication1.Controllers
{
    //[Authorize]驗證權限 
    public class ValuesController : ApiController
    {
        // GET api/values
        public IEnumerable<string> Get()
        {


            return new string[] { "value1", "value2" };
        }

        // GET api/values/5
        public string Get(int id)
        {
           
            return "value";
        }

        // POST api/values
        public void Post([FromBody]string value)
        {
        }

        // PUT api/values/5
        public void Put(int id, [FromBody]string value)
        {
        }

        // DELETE api/values/5
        public void Delete(int id)
        {
        }
    }
}

參考:https://dotblogs.com.tw/kevintan1983/2013/11/18/130230

[IIS]iis 建置網站指令

cd\
cd  windows\System32\inetsrv\

APPCMD ADD APPPOOL /name:MyAppPool4.0 /managedRuntimeVersion:"v4.0"

APPCMD ADD SITE /name:"Wapi_ERP" /bindings:http://*:9005 /physicalPath:"D:\DEV\Wapi_ERP\Wapi_ERP"

APPCMD SET SITE /site.name:Wapi_ERP /[path='/'].applicationPool:MyAppPool4.0

pause


存成 IIS.bat