目前日期文章:201510 (4)

瀏覽方式: 標題列表 簡短摘要

最近開始使用AngularJS+ASP.NET WebAPI做專案
restful webapi 雖定義了GET/POST/PUT/DELETE 但並無標準web service 的wdsl 可以產生xml 文件
此時需安裝套件以自動產生help page,開發筆記如下:

1.使用nuget安裝套件helppage

Package Manager Console> Install-Package Microsoft.AspNet.WebApi.HelpPage

2.使用/// 快速鍵,將controller之action 等級加上說明

/// <summary>
/// 刪除外撥主檔
/// </summary>
/// <param name="outboundIdRoot"></param>
/// <returns></returns>
public bool Delete(string outboundIdRoot)
{
    OutboundProgramBLL outboundProgramBLL = new OutboundProgramBLL();
    return outboundProgramBLL.Delete(outboundIdRoot); ;
}

3.專案屬性
輸出:XML文件檔案:App_Data\Document.XML

4.設定使用Document.XML
修改~Area/HelpPage/App_Start/HelpPageConfig.cs           

  public static void Register(HttpConfiguration config)
        {
        //// Uncomment the following to use the documentation from XML documentation file.
            config.SetDocumentationProvider(
new XmlDocumentationProvider(
HttpContext.Current.Server.MapPath("~/App_Data/Document.XML")));
            //...
            //...
        }


5.F6重新編譯 專案

7.使用http://xxxxxx/help  查看helppage


 










michaelfang 發表在 痞客邦 留言(0) 人氣()

家中有一台synology nas  內建的是 MariaDB 5.5.43 (mysql 分支)
另外有一fedora linux 的MySQL 5.1  
最近嘗試將兩部MySQL 表兄弟做replication,以下為實戰筆記....

區分以下段落
0.replication概要
1.環境說明
2.設定mater
3.設定slave
4.異常處理

0.mysql replication 官方說法
參考: http://dev.mysql.com/doc/refman/5.0/en/replication...

0.1 mysql的replication 單向複寫
可設定一個master,多個slave,靠啟用binary log來將異動資料由master送給slave
 

0.2 Scale out ,分散讀寫不同作業,提高效能

 

0.3 master異常時,切換到slave維持運作
mysql>change master to ...   可將master 指到的slave1
正常情況
 

異常時切換master
 



1.環境說明
master: MySQL 5.1 on fedora linux , ip=master.mydomain.com
slave : MariaDB 5.5 on Synology Nas (mysql 分支) , dns=slave.mydomain.com ,ip=slave_db_ip_address

2.設定master 
2.1.edit my.cnf@master db   (/etc/my.cnf)
#master config
[mysqld]
server-id=9419601
log_bin=mysql-bin
log_error=mysql-bin.err
binlog_do_db=db1
binlog_do_db=db2
binlog_do_db=db3

2.2 create replication user @master db

CREATE USER 'rep_user'@'slave_db_ip_address' IDENTIFIED BY  'rep_user_password';

GRANT REPLICATION SLAVE , REPLICATION CLIENT ON * . * TO  'rep_user'@'slave_db_ip_address' IDENTIFIED BY  'rep_user_password';

2.3 restart@master db

2.4 顯示master狀態@master db
mysql>show master status;

變數
File mysql-bin.000009
Position 11724
Binlog_Do_DB db1,db2,db3
Binlog_Ignore_DB

2.5 顯示目前連線之slave host@master db
mysql>show slave hosts;

Server_id Host Port Rpl_recovery_rank Master_id
1444825616 slave.mydomain.com 3306 0 9419601


3.設定slave

3.1 edit  my.cnf@slave db   (/etc/mysql/my.cnf)

[mysqld]
server-id=1444822168                #由phpMyadmin之Replication頁籤/slave 取得
report-host=slave.mydomain.com  #此hostname 將回報給master 
slave-skip-errors = all                 #避免發生錯誤時,中斷replication

3.2 restart@slave db
/usr/syno/bin/synopkg restart MariaDB 

3.3 設定mater@slave db

CHANGE MASTER TO

  MASTER_HOST='master.mydomain.com',
  MASTER_USER='rep_user',

  MASTER_PASSWORD='rep_user_password',
 MASTER_PORT=3306

3.4 顯示slave 狀態@slave db
mysql>show slave status;

變數
Slave_IO_State Waiting for master to send event
Master_Host master.myadomain.com
Master_User rep_user
Master_Port 3306
Connect_Retry 60
Master_Log_File mysql-bin.000009
Read_Master_Log_Pos 11450
Relay_Log_File mysqld-relay-bin.000013
Relay_Log_Pos 8157
Relay_Master_Log_File mysql-bin.000009
Slave_IO_Running Yes
Slave_SQL_Running Yes
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
Replicate_Ignore_Table
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
Exec_Master_Log_Pos 11450
Relay_Log_Space 8452
Until_Condition None
Until_Log_File
Until_Log_Pos 0
Master_SSL_Allowed No
Master_SSL_CA_File
Master_SSL_CA_Path
Master_SSL_Cert
Master_SSL_Cipher
Master_SSL_Key
Seconds_Behind_Master 0


4.replication異常停止 處理方法
4.1 顯示master 狀態@master db
mysql>show master status;
紀錄File 及Position

變數
File mysql-bin.000009
Position 11724


4.2 重設master_log_file 及master_log_pos @slave db
mysql>change master to 
master_host='master.mydomain.com',
 master_user='rep_user', 
 master_password='rep_user_password', 
 master_port=3306, 
 master_log_file='mysql-bin.000009', 
 master_log_pos=11724 ;






  





michaelfang 發表在 痞客邦 留言(0) 人氣()

今年的Techdays 2015 Taiwan大會影片
已經於channel9 上傳

https://channel9.msdn.com/Events/TechDays/TechDays-Taiwan-2015


1.專案管理 

尋找不用加班的 15 種方法

https://channel9.msdn.com/Events/TechDays/TechDays-Taiwan-2015/OFC205


2.asp.net

ASP.NET 5 開發攻略

https://channel9.msdn.com/Events/TechDays/TechDays-Taiwan-2015/DEV305

3.C#

.NET Framework 技術架構發展與 C# 6.0

https://channel9.msdn.com/Events/TechDays/TechDays...

4.敏捷開發

實現 End to End 的雲端敏捷開發流程


https://channel9.msdn.com/Events/TechDays/TechDays...

5.跨平台開發

C#. 跨界 X 跨平台.Visual Studio & Xamarin 開發

https://channel9.msdn.com/Events/TechDays/TechDays...




michaelfang 發表在 痞客邦 留言(0) 人氣()

參考:https://channel9.msdn.com/Events/TechDays/TechDays...

TechDays 2015 之 保哥-ASP.NET 5 開發攻略

1.安裝node.js
2.npm install -g yo   (安裝套件管理工具 yeoman之全域套件)
3.npm install -g generator-aspnet   (安裝aspnet 站台產生套件,類似express)
4.yo aspnet    (選擇WebApplication,並輸入應用程式目錄名稱aspnet5, yo會產生範本程式碼)

2.建置
2.1 cd aspnet5 
2.2  dnu restore   (還元套件,須先安裝aspnet 5 , 參考: http://docs.asp.net/en/latest/getting-started/inst...)
2.3 dnu build

3.開發:
3.1  code .   (對目前資料夾, 使用Visual Studio Code 進行開發)
3.2 或使用VS2015 開起專案檔aspnet5/project.json 進行開發建置
3.3 dnx web  (啟動站台http://localhost:5000)











michaelfang 發表在 痞客邦 留言(0) 人氣()