2014年5月19日 星期一

C# 取得程式路徑的幾個方法

1.獲取和設置當前目錄的完全限定路徑。
string str = System.Environment.CurrentDirectory;


Result: C:\xxx\xxx


2.獲取啟動了應用程序的可執行文件的路徑,不包括可執行文件的名稱。
string str = System.Windows.Forms.Application.StartupPath;

Result: C:\xxx\xxx


3.獲取新的 Process 組件並將其與當前活動的進程關聯的主模塊的完整路徑,包含文件名。

string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;

Result: C:\xxx\xxx\xxx.exe


4.獲取當前 Thread 的當前應用程序域的基目錄,它由程序集衝突解決程序用來探測程序集。
string str = System.AppDomain.CurrentDomain.BaseDirectory;

Result: C:\xxx\xxx\


5.獲取應用程序的當前工作目錄。

string str = System.IO.Directory.GetCurrentDirectory();

Result: C:\xxx\xxx


6.獲取和設置包含該應用程序的目錄的名稱。
string str = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;

Result: C:\xxx\xxx\


7.獲取當前進程的完整路徑,包含文件名。
string str = this.GetType().Assembly.Location;

Result: C:\xxx\xxx\xxx.exe


8.獲取啟動了應用程序的可執行文件的路徑,包括可執行文件的名稱。string str = System.Windows.Forms.Application.ExecutablePath;

Result: C:\xxx\xxx\xxx.exe

2014年5月16日 星期五

Web Service 怎麼寫



Web Service 初探(一)

Web Service入門 #1,透過VS 2005/2008/2010 撰寫一個Web Service





WebService是放在IIS上提供給Client做資料存取、交換用的
撰寫的方式很簡單,上面兩個教學很輕鬆讓你撰寫出來
也誠如其名,他跟WINDOWS服務一樣,永遠等待著、服務著,只是在網路上而已


而WCF是WebService的一種,更進化的,推出之後,讓大家更多一種選擇,而且WCF更強大,他甚至不用跑在IIS之上,可以在任何程式中把這個WCF給new出來,就讓這個程式提供這個服務,可以跟其他人交換,機制上也更完整,更安全。

NO
功能
Web Service
WCF (原名 Indigo)

.NET Farmework
.NET 1.1 以上
.NET 3.5 以上

Hosting
可建置於 IIS
可建置於 IIS, Windows Activation Service, Self-hosting, Windows Service

Programming
定義 [WebService] Attribute 於類別
定義 [ServiceContract] Attribute 於類別

Model
使用 [WebMethod] Attribute 公開可見的方法
使用 [OperationContract] Attribute 公開可見的方法

Operation
One-Way, Request - Response Web Service 中支援各種操作
One-Way, Request - Response, Duplex WCF 中支援不同類型的操作

XML
使用 System.Xml.Seriallzation 命名空間進行序列化
使用 System.Runtime.Serialization 命名空間進行序列化

Encoding
XML 1.0, MTOM(Message Transmission Optimization Mechanism), DIME, Custom
XML 1.0, MTOM, Binary, Custom

Transports
透過 HTTP, TCP, Custom 溝通
透過 HTTP, TCP, Named Pipes, MSMQ, P2P, Custom 溝通

Protocols
配合 WSE 可支援 WS-*,提供安全性
支援 WS-*,提供安全性、可靠性、交易

State Management
無狀態
可管理狀態

Other

整合 Enterprise Sevices(COM+).Net RemotingWeb Service(ASMX)WSE3.0 MSMQ