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月19日 星期一
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 Remoting、Web
Service(ASMX)、WSE3.0 和 MSMQ
|
2014年3月11日 星期二
RIA是什麼?
Rich Internet Application是一種在網際網路上運行的應用程式,有著如同桌面應用程式的行為、功能、快速回應、直覺與體驗,也融合了網際網路應用程式的容易開發的與低成本的特性。RIA結合桌面應用程式與網路的優點。(Macromedia, 2003)
Q:RIA和Flash網站有什麼不同?
A:Flash網站與RIA的最大差異在於RIA能夠操作資料並與之互動,而傳統的Flash網站僅止於視覺化的呈現。(McMullin, J. & Skinner, G., 2003)
A:Flash網站與RIA的最大差異在於RIA能夠操作資料並與之互動,而傳統的Flash網站僅止於視覺化的呈現。(McMullin, J. & Skinner, G., 2003)
Q:RIA有什麼好處?
A:
對企業的好處:
提高交易量
應用更夠更快的上線
降低應用開發與維護成本
A:
對企業的好處:
提高交易量
應用更夠更快的上線
降低應用開發與維護成本
對資訊部門的好處:
降低基礎設施建置成本
提昇開發效率
支援工業標準
降低基礎設施建置成本
提昇開發效率
支援工業標準
2014年3月10日 星期一
Team Foundation Server 之初始化設定
那麼怎麼讓Client端透過VS連到TFS呢?請在該TFS上建立系統使用者. 並且設定密碼(請該使用者過來設定他在Client端的使用者密碼. 兩者要一致). 然後在專案集合中將該使用者加入正確的權限群組即可.
.png&container=blogger&gadget=a&rewriteMime=image%2F*)
.png&container=blogger&gadget=a&rewriteMime=image%2F*)
.png&container=blogger&gadget=a&rewriteMime=image%2F*)
.png&container=blogger&gadget=a&rewriteMime=image%2F*)
備註一 :
在建立專案的時候必須注意到版本的問題.若Team Foundation Server大於VS的版本. 就會發生權限不足的情況而無法建立專案. 此時的解法是去下載跟Server相同版本的Team Explorer for Microsoft Visual Studio. 版本相同才能連接到TFS去建立專案.
2013年12月25日 星期三
什麼是響應式設計?
拜行動裝置上網普及,因此目前 Responsive Web Design 響應式設計 這個 Web 設計方式很熱門,而要做到這個設計,必須要先認識CSS3 Media Queries,這個可以讓你根據裝置或瀏覽器的長寬不同,而可以有不同的CSS呈現,比方,當夠寬的時候,會呈現三個Column(不是真的欄,是排版的欄)。縮小的時候,可能剩下兩個或甚至一個,而原本有橫向的多個選項,也可能被合併成一個按鈕或LIST,點了才會展開,......等等
所以,什麼是響應式設計呢?就是會彈性的根據你裝置的尺寸不同,呈現不同的外觀,相同的內容,並讓使用者在最適當的、最少需要用手指放大滑動的一種設計概念。
標籤:
美工繪圖,
網頁,
CSS,
JavaScript,
JQuery
2013年11月14日 星期四
JS的Timer
JS給了網頁兩種Timer,其實是一樣的東西,只是用法跟行為有一點點不同罷了
setInterval()跟一般常見的Timer沒有太大的差異,就是持續的間隔一段時間就執行一段程式(一個函式)
setTimeOut()則是隔一段時間之後,一段程式(一個函式)會被執行一次,就這麼一次。
先介紹setInterval()吧,常用兩種呼叫型態,一個是就直接把要做的程式,寫在參數裡function()中,通常要做的事情應該不多才會這樣寫吧,不然不美觀啊。底下的範例,就是每三秒鐘執行一次alert。
var MyTimer = setInterval(function(){alert("Hello")},3000);
另外一個,則是先把函式寫好然後以函式呼叫當成參數。比方底下的例子就是每五秒呼叫一次 doSomething()看裡面要做什麼事情。
var MyTimer = setInterval( "doSomething()", 5000 );
function doSomething ( )
{
// (do something here)
}
怎麼清除或停掉這個Timer呢?很簡單,就是 clearInterval( MyTimer );對,就在剛剛你疑惑的地方,呼叫函式其實setInterval()其實會傳回一個 Timer物件(或ID)就是用來當你想清除或停掉他的時候用的。
相同的寫法,可應用在setTimeOut()上,非常的簡單。我就不重複寫了
setInterval()跟一般常見的Timer沒有太大的差異,就是持續的間隔一段時間就執行一段程式(一個函式)
setTimeOut()則是隔一段時間之後,一段程式(一個函式)會被執行一次,就這麼一次。
先介紹setInterval()吧,常用兩種呼叫型態,一個是就直接把要做的程式,寫在參數裡function()中,通常要做的事情應該不多才會這樣寫吧,不然不美觀啊。底下的範例,就是每三秒鐘執行一次alert。
var MyTimer = setInterval(function(){alert("Hello")},3000);
另外一個,則是先把函式寫好然後以函式呼叫當成參數。比方底下的例子就是每五秒呼叫一次 doSomething()看裡面要做什麼事情。
var MyTimer = setInterval( "doSomething()", 5000 );
function doSomething ( )
{
// (do something here)
}
怎麼清除或停掉這個Timer呢?很簡單,就是 clearInterval( MyTimer );對,就在剛剛你疑惑的地方,呼叫函式其實setInterval()其實會傳回一個 Timer物件(或ID)就是用來當你想清除或停掉他的時候用的。
相同的寫法,可應用在setTimeOut()上,非常的簡單。我就不重複寫了
2013年11月6日 星期三
更改 JQuery UI Dialog 的標題 Title (在已經 Create 了之後)
第一時間想到的是更改該 Div 的 Title 屬性,但是,不是這樣用的,也就是說
<div class = "Div_Message" title = "我是訊息對話框" >
</div>
這個對話框在經過以下建立過程之後
$( '.Div_Message' ).dialog(
{
autoOpen: false,
resizable: false,
width:500,
height:300,
modal: true
} );
被$('.Div_Message').dialog( 'open' );把視窗叫出來之前
即便用了$( '.Div_Message' ).prop( "title", "我把訊息改掉" );也沒有用
因為語法不是這樣用的
被$('.Div_Message').dialog( 'open' );把視窗叫出來之前
應該要$('.Div_Message').dialog('option', 'title', '我把訊息改掉'); 才對
<div class = "Div_Message" title = "我是訊息對話框" >
</div>
這個對話框在經過以下建立過程之後
$( '.Div_Message' ).dialog(
{
autoOpen: false,
resizable: false,
width:500,
height:300,
modal: true
} );
被$('.Div_Message').dialog( 'open' );把視窗叫出來之前
即便用了$( '.Div_Message' ).prop( "title", "我把訊息改掉" );也沒有用
因為語法不是這樣用的
被$('.Div_Message').dialog( 'open' );把視窗叫出來之前
應該要$('.Div_Message').dialog('option', 'title', '我把訊息改掉'); 才對
2
3
4
5
|
|
訂閱:
文章 (Atom)