參考
[入門] T4 入門教學
CODE-透過程式執行T4範本
使用 T4 文字範本在執行階段產生文字
2015年7月8日 星期三
2015年6月30日 星期二
[C#]計算Tiff檔頁數,使用BitMiracle.LibTiff.Net
用NuGet下載BitMiracle.LibTiff.Net,Version:2.4.511.0
官方網頁
原始碼如下
using BitMiracle.LibTiff.Classic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Calculate_Tiff_page_with_BitMiracle.LibTiff.Net
{
class Program
{
static void Main(string[] args)
{
string path = @"C:\Users\owlin\Downloads\test.tif";
using (Tiff image = Tiff.Open(path, "r"))
{
Console.WriteLine(CalculatePageNumber(image));
Console.ReadLine();
}
}
private static int CalculatePageNumber(Tiff image)
{
int pageCount = 0;
do
{
++pageCount;
} while (image.ReadDirectory());
return pageCount;
}
}
}
官方網頁
原始碼如下
using BitMiracle.LibTiff.Classic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Calculate_Tiff_page_with_BitMiracle.LibTiff.Net
{
class Program
{
static void Main(string[] args)
{
string path = @"C:\Users\owlin\Downloads\test.tif";
using (Tiff image = Tiff.Open(path, "r"))
{
Console.WriteLine(CalculatePageNumber(image));
Console.ReadLine();
}
}
private static int CalculatePageNumber(Tiff image)
{
int pageCount = 0;
do
{
++pageCount;
} while (image.ReadDirectory());
return pageCount;
}
}
}
[C#]FTP上下傳檔案,使用WinSCP
用NuGet下載WinSCP .Net Assembly,Version:5.7.4
官方網頁
原始碼如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WinSCP;
namespace FTP_download_and_upload_with_WinSCP
{
class Program
{
static string ftpUploadUrl = "IP或domain"; //不可以有ftp:\
static string ftpAccount = "Ftp帳號";
static string ftpPassword = "Ftp密碼";
static string localPath = @"D:\temp\";
static string remotePath = "/work/";
static void Main(string[] args)
{
Download();
Upload();
}
private static void Upload()
{
try
{
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Ftp,
HostName = ftpUploadUrl,
UserName = ftpAccount,
Password = ftpPassword,
};
using (Session session = new Session())
{
// Connect
session.Open(sessionOptions);
// Upload files
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary;
TransferOperationResult transferResult;
transferResult = session.PutFiles(localPath + "*", remotePath, true, transferOptions); //*表示全部檔案
// Throw on any error
transferResult.Check();
// Print results
foreach (TransferEventArgs transfer in transferResult.Transfers)
{
Console.WriteLine("Upload of {0} succeeded", transfer.FileName);
}
session.Close();
}
}
catch (Exception e)
{
throw e;
}
}
private static void Download()
{
try
{
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Ftp,
HostName = ftpUploadUrl,
UserName = ftpAccount,
Password = ftpPassword,
};
using (Session session = new Session())
{
// Connect
session.Open(sessionOptions);
// Upload files
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary;
TransferOperationResult transferResult;
transferResult = session.GetFiles(remotePath + "*", localPath, false, transferOptions);//*表示全部檔案
// Throw on any error
transferResult.Check();
// Print results
foreach (TransferEventArgs transfer in transferResult.Transfers)
{
Console.WriteLine("Download of {0} succeeded", transfer.FileName);
}
session.Close();
}
}
catch (Exception e)
{
throw e;
}
}
}
}
官方網頁
原始碼如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WinSCP;
namespace FTP_download_and_upload_with_WinSCP
{
class Program
{
static string ftpUploadUrl = "IP或domain"; //不可以有ftp:\
static string ftpAccount = "Ftp帳號";
static string ftpPassword = "Ftp密碼";
static string localPath = @"D:\temp\";
static string remotePath = "/work/";
static void Main(string[] args)
{
Download();
Upload();
}
private static void Upload()
{
try
{
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Ftp,
HostName = ftpUploadUrl,
UserName = ftpAccount,
Password = ftpPassword,
};
using (Session session = new Session())
{
// Connect
session.Open(sessionOptions);
// Upload files
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary;
TransferOperationResult transferResult;
transferResult = session.PutFiles(localPath + "*", remotePath, true, transferOptions); //*表示全部檔案
// Throw on any error
transferResult.Check();
// Print results
foreach (TransferEventArgs transfer in transferResult.Transfers)
{
Console.WriteLine("Upload of {0} succeeded", transfer.FileName);
}
session.Close();
}
}
catch (Exception e)
{
throw e;
}
}
private static void Download()
{
try
{
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Ftp,
HostName = ftpUploadUrl,
UserName = ftpAccount,
Password = ftpPassword,
};
using (Session session = new Session())
{
// Connect
session.Open(sessionOptions);
// Upload files
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary;
TransferOperationResult transferResult;
transferResult = session.GetFiles(remotePath + "*", localPath, false, transferOptions);//*表示全部檔案
// Throw on any error
transferResult.Check();
// Print results
foreach (TransferEventArgs transfer in transferResult.Transfers)
{
Console.WriteLine("Download of {0} succeeded", transfer.FileName);
}
session.Close();
}
}
catch (Exception e)
{
throw e;
}
}
}
}
2015年4月18日 星期六
[C#]複寫SignalR OnConnected、OnDisconnected、OnReconnected
若要複寫SignalR Hub的OnConnected、OnDisconnected、OnReconnected
JavaScript
var chat = $.connection.chatHub;
// Need at least one callback for events to be raised on the hub
chat.client.void = function () { };//這行非加不可 否則不會自動執行Server的OnConnected跟OnDisconnected
// Start the connection.
$.connection.hub.start();
JavaScript
var chat = $.connection.chatHub;
// Need at least one callback for events to be raised on the hub
chat.client.void = function () { };//這行非加不可 否則不會自動執行Server的OnConnected跟OnDisconnected
// Start the connection.
$.connection.hub.start();
[C#]SignalR聊天室使用MVC5
參考微軟官方文件
Tutorial: Getting Started with SignalR 2 and MVC 5
新增專案,選擇C# ASP.Net應用程式
選擇MVC範本
變更驗證,若選擇不驗證,則需要自己建立Startup.cs,這邊選擇個別使用者帳戶
工具>程式庫套件管理員>套件管理器主控台,輸入指令安裝SignalR Libraries
install-package Mircosoft.AspNet.SignalR
在專案新增【Hubs】資料夾
在【Hubs】資料夾新增SignalR Hub類別
在【ChatHub.cs】增加Send Method
在【Startup.cs】註冊SignalR設定
在【HomeController】增加Chat的ActionResult
使用SignalR Client需安裝Microsoft.AspNet.SignalR.Client
在View>Home資料夾,增加View
修改【Chat.cshtml】的內容
聊天室展示
Tutorial: Getting Started with SignalR 2 and MVC 5
新增專案,選擇C# ASP.Net應用程式
選擇MVC範本
變更驗證,若選擇不驗證,則需要自己建立Startup.cs,這邊選擇個別使用者帳戶
工具>程式庫套件管理員>套件管理器主控台,輸入指令安裝SignalR Libraries
install-package Mircosoft.AspNet.SignalR
![]() |
專案將安裝這些套件 |
在【Hubs】資料夾新增SignalR Hub類別
在【ChatHub.cs】增加Send Method
在【Startup.cs】註冊SignalR設定
在【HomeController】增加Chat的ActionResult
使用SignalR Client需安裝Microsoft.AspNet.SignalR.Client
在View>Home資料夾,增加View
修改【Chat.cshtml】的內容
訂閱:
文章 (Atom)