Unable to add data connection.
Could not load file or assembly
'Microsoft.SQLServer.Management.Sdk.Sfc, Version=10.0.0.0,
Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its
dependencies. The sytem cannot find the file specified.
SOLUTION:
Install the following from Microsoft SQL Server 2008 Feature Pack
Microsoft SQL Server 2008 Native Client
Microsoft SQL Server System CLR Types
Microsoft SQL Server 2008 Management Objects
http://www.microsoft.com/downloads/details.aspx?FamilyId=C6C3E9EF-BA29-4A43-8D69-A2BED18FE73C&displaylang=en#filelist
Monday, October 6, 2008
Saturday, June 21, 2008
Debug.exe Commands Reference
DEBUG.EXE 指令說明
DEBUG | [執行檔檔名] | [該執行檔的外帶參數] |
a | [sta] | 編寫組合語言程式指令碼,sta為啟始位址 |
c | sta end sta2 | 比較兩個記憶體區塊,sta為第一區塊的起始位址,而end為第一區塊結束位置,sta2為第二區塊起始位址 |
c | sta lnn sta2 | 比較兩個記憶體區塊,sta為第一區塊起始位址,而nn為欲比較的長度大小,sta2為第二區塊起始位址 |
d | [sta] [end] | 印某指定區塊記憶體至螢幕(sta:啟始、end:結束) |
d | [sta] [lnn] | 印某指定區塊記憶體至螢幕(sta:啟始、nn:長度) |
e | [sta] | 修改記憶體中某一個byte的資料,sta為位址 |
e | [sta] [data] | 修改記憶體中某一個byte的資料,data為新資料 |
g | [end] | 執行程式,直至結束位址(end)或程式結束時 |
g = sta [end] | 執行從啟始(sta)直至結束(end)或程式結束時 | |
r | [reg] | 顯示所有暫存器內容或修改某指定暫存器(reg)值 |
t | [num] | 單步執行,num指定一次執行幾步(預設1) |
t = sta [num] | 單步執行,從sta起始,num指定執行幾步(預設1) | |
n | filename | 為目前正在編輯或除錯的檔案命名 |
w | [sta] | 儲存檔案,寫入cx個bytes的資料至n指定的檔名 |
w | sta dri sec num | 將sta資料寫入dri磁碟的第sec磁區共寫num個磁區 |
l | [sta] | 載入檔案,讀出n指定檔名的資料至sta位址中 |
l | sta dri sec num | 讀出dri磁碟的第sec磁區的資料至sta共讀num個磁區 |
q | 離開debug,返回DOS | |
u | [sta] [end] | 反組譯,從sta至end |
u | [sta] [lnn] | 反組譯,從sta,共反組譯nn個bytes |
m | sta end sta2 | 將第一區塊的記憶體搬至第二區塊中 |
m | sta lnn sta2 | 將第一區塊的記憶體搬至第二區塊中 |
f | sta end data | 將一段資料(data)存入某指定之記憶體區 |
f | sta lnn data | 將nn個bytes的資料存入某指定之記憶體區 |
s | sta end data | 搜尋data資料在指定位址內,data不限長度 |
s | sta lnn data | 搜尋data資料在指定位址內,data不限長度 |
h | data data2 | 計算兩個資料的和與差並顯示在螢幕上 |
i | inport | 由輸入埠輸入並顯示一個byte |
o | outport | 由輸出埠輸出一個byte值 |
Wednesday, June 4, 2008
支援TCP/IP協議的新一代GSM/GPRS模組及應用
支援TCP/IP協議的新一代GSM/GPRS模組及應用
基於GSM/GPRS的IP協議提供了與網際網路‘永遠連線’的可能性,使之成為一種節約成本的選擇。為了開發基於IP協議的應用,系統設計師需要同時通曉無線網路和TCP/IP協議。本文將詳細介紹支援TCP/IP協議和嵌入式應用的新力易利信模組及其應用實例。
各種各樣的接取技術被用於無線網路。在FDMA技術中,每個用戶被分配一個頻率,而TDMA技術則透過時間分隔用戶。在CDMA技術中,所有用戶在同一時間使用同一頻段發送訊號,分隔用戶透過各自被分配到的唯一程式碼來實現。在2G系統中,數據傳輸主要是透過電路交換,即一個被分配給用戶的傳輸訊息通道,當一個用戶完成傳輸任務、讓出訊息通道後,該傳輸訊息通道才被提供給其他用戶使用。由於猝發性是數據業務的基本特徵,當一個用戶不再有數據傳輸時,寬頻就處於荒廢狀態中。在分組交換系統中,所有用戶分享同一個訊息通道,用戶則可以實現多工的功能。當一個用戶沒有需要傳輸的數據時,訊息通道就會被其他用戶所使用。資訊包的傳輸方法可透過媒體存取控制(MAC)協議被編排。
在網際網路上的資訊包傳輸全部基於IP協議。無線網路將與網際網路整合,資訊包透過無線媒介無縫地傳輸至基於IP協議的網路,在傳輸前,為了能直接到達指定目的地,數據包必須根據TCP/IP協議封裝。在GPRS網路中也採取了IP協議進行傳輸。
就服務的靈活性來說,幾乎所有的GSM模組都可以連接到GPRS網路。通常情況下,根據TCP/IP協議棧的資訊打包功能並不是模組特徵的一部份。在透過模組發送數據前,TCP/IP協議棧必須事先被開發,然而,只有很少的模組具有內嵌式的TCP/IP協議棧,數據可以透過模組直接被發送。如此一來,應用開發周期被縮短,其執行能力也在很大程度上得到提高。
本文將簡要介紹TCP/IP協議及在GPRS網路中實現TCP/IP的必要條件,詳細敘述支援TCP/IP協議和嵌入式應用的新力易利信模組及其應用實例。
基於GPRS的TCP/IP協議
TCP/IP 是為協同作業電腦、分享網路資源的一套協議。該協議成員包括IP、TCP、UDP等。TCP確保數據的正確傳送,如果對於一個資訊包來說,數據量太大, TCP則可將其分成若干組。IP被用來為資訊包到達另一端尋找通道,每一個與網路相連接的工作站都有一個唯一IP地址,該IP地址為一個32位元數,它通常被寫成四個十進制數位,每一個代表8位元,例如,165.21.32.70是新力易利信網站伺服器的一個IP地址。
TCP/IP是一個無連接協議,資訊以分組方式進行傳輸,資訊包的最大容量在初始化過程中得以商定。如果資訊超出其最大容量,則將被分成若干組分別傳送。資訊包未得以按順序傳送甚至丟失及再次轉發的可能性是存在的,因此,TCP必須將序號、資訊來源和目的地通道數,以及其他資訊添加進數據包中,被稱為 TCP包頭。接收器端將利用該資訊來檢測數據包是否被正確地接收,因而加以整理。要直接將資訊包發送至正確的工作站,僅有TCP包頭,是不充分的。一個 IP報頭必須被加在TCP包頭之上,源地址和目的地址被包括在IP包頭堙C發送資訊包至目的地,電腦將首先核對其自身的路由列表,如果目的地在自己的網路內,它將直接發送資訊包。否則,它將發送資訊包至網路閘道,每一個網路閘道都有一個路由列表,資訊包將透過幾個單獨的路由節點到達目的地址。
GPRS網提供網路功能將IP資訊包從行動用戶點傳送至外部網路。GPRS可以為IP地址提供多重選擇,包括公共地址、專用地址以及客戶代理地址。指定IP地址選擇權的GPRS機制被稱為接取點域名(APN)。
圖1 顯示了基於GSM/GPRS的TCP/IP系統結構。因為IP地址的整體供應受到限制,一個GPRS網路供應商通常使用專用的、可動態分配地址,然而,公共網址選擇可由專門的客戶提供,專用網址則無法越過公共網進行作業。為連接公共網路,專用網址被轉換成公共網址。該轉換透過一個節點產生,該節點是專用的網路地址轉換(NAT)。多重專用地址可被映射成一個公共地址,對於基於IP協議的應用,和有線網路一樣,在無線網路中它們以相同的方式工作。當 GPRS對話啟動時,大多數服務供應商也將監控數據的傳輸流量,如果在特定的一段時間內沒有數據傳輸,其連接將被斷開。
因為 TCP/IP資訊包是透過GSM網傳輸的,所以,必須考慮TCP/IP協議棧的一些參數配置。基於GPRS的TCP應當支援適當的窗口尺寸以利於最佳化端對端連接的頻寬延遲,默認接收和發送緩衝器比例應當增加到容納足夠大的窗口,被銜接層支援的IP數據包的最大值是最大傳輸單元(MTU)。在高誤碼率的鏈路上,較小的MTU尺寸增加了成功傳輸的機會,默認IP最大傳輸單元值為576位元組。依據鏈路條件和ARQ的配置,它有可能增加MTU大小到一個較大的值,一個較大的MTU允許TCP更快地增加擁擠窗口。對於基於GPRS的TCP/IP協議的設計,設計師必須考慮到這些問題。
新力易利信機對機通訊模組
很多GSM模組可以透過GSM/GPRS直接接取網際網路,如果模組上沒有TCP/IP協議棧,它則必須在其應用或周邊的微處理器中體現。新力易利信 GR47/48模組正是一種內建TCP/IP協議棧的模組之一。為開發基於GSM/GPRS網的TCP/IP應用,新力易利信提供了一套完整工具,其機對機通訊商業解決方案(M2mpower Business Solution)是一個強有力的支援環境,專為促進提高成本效益比率的無線機對機應用的研發而設計。M2mpower使開發者透過運用特定的開發工具,能夠更容易地將無線應用直接嵌入相容的新力易利信機對機產品中。M2mpower與可程式無線元件GR47/48一同被導入,其腳本語言是設立在產業級 ANSI C語言的基礎之上,使開發者將現有的應用可以平滑地轉換到M2mpower。
圖2顯示了GR47即時作業系統的結構。新款可程式無線模組GR47/48提供了完整全面的功能。該模組包括一個內建TCP/TP協議棧,以便更有效地使用GPRS。它允許一個TCP/UDP傳輸機制以最小的前期配置和作業來被使用。其內嵌控制器方便整合客戶的應用,減少外部控制器的需求,例如在警報、儀表抄送和自動售貨等應用上。GR47和 GR48分別支援雙頻GSM寬頻900MHz/1800MHz和850MHz/1900MHz,它們都可透過SMS 短消息服務、CSD、HSCSD或GPRS來發送或接收數據,並可處理語音及傳真。其TCP/IP協議棧亦可透過AT命令或嵌入式應用進行存取。
GR47/48 模組具有很多強大的特徵。其TCP/UDP會話可以透過一個命令啟動;它還提供為統一資源定位器(URL)查詢IP地址的功能;最有用的特點之一是IP伺服器偵聽功能,該功能允許通訊模組啟動與網路的對話,例如,一個被分配的IP地址無需連接任何部份,只要等待該單元接收一個基於IP的連接導入請求,即可實現。
應用實例
在這一部份,我們將列出一些使用新力易利信GR47模組的應用實例以供參考。第一個例子顯示了使用AT命令設立一個TCP會話的步驟,第二個則是嵌入式應用的範例。
1.使用AT命令接取GPRS網
GR47提供一系列AT命令來完成TCP/IP協議的功能,以簡化應用整合的流程。相關的命令可以讓應用設計者設立和取消UDP和TCP協議,控制GPRS PDP context的設立,傳送數據,檢查IP的狀態資訊等。
啟動TCP會話功能的步驟如下所示:
1. at+cgdcont=1,"IP","CMNET" \*write PDP context information, connect to China Mobile GPRS network*\
2. at*e2ipa=1,1 \*active IP session using stored PDP context*\
3. at*e2ipi=0 \*return currently assigned IP address*\
4. at*e2ipo=1,"166.111.8.238",23 \*initiate a TCP connection to the module*\
5. at*e2ipc \*close a currently opened IP connection*\
當模組處於數據傳輸狀態中時,需要啟動DTR來轉換回線上命令模式,ATO則被用於再次轉換回數據模式。
2.嵌入式應用接取GPRS網
以下描述示範怎樣啟動PDP文本、開始TCP對話以及接收數據。這只是整個程式的一部份,不能單獨執行。
/* Reset the IP error flag by reading it */
gtf( APPS_IP_ERROR_TRIGGER );
Err = pdpa( 1, 1 );
prtf( "\n PDP activate result = %d\n", Err );
if ( Err == 0 )
{ Val = ipi( 0 );
prtf( " IP Address = %x", Val );}
else
{ prtf( "\n PDP activation failed!\n" );
return;}
Err = ipo( 1, &SckNum );
if( Err != 0 )
{ prtf( " \n TCP Socket open failed!\n" );}
else
{ prtf( "\n TCP Socket Opened!\n" );
Err = tcpc( SckNum, Port, Address );
if( (Err == 0) || (Err == TCP_CONNECTING) || (Err == TCP_CONNECTED) )
{ while( !Complete && (gtb( APPS_IP_ERROR_STATUSBYTE ) == 0) )
{ int len;
/* Receive some data */
if( gtf( APPS_IP_DATA_RECVD ) )
{ prtf( "\n IP DATA RECVD" );
len = RXTX_SIZE;
Err = tcpr( SckNum, RxTxBuf, &len);
if( Err != 0 )
{ prtf( "\n *** Error in TCP Receive (%d). ***\n\n", Err );}
else
{ if( gtb( APPS_IP_TCPSTATUS_BYTE ) == TCP_CONNECTING )
{ prtf( "\n Delaying while TCP Connect occurs...\n\n" );}
else
{ prtf( "\n Received %d bytes of data.\n\n", len ); }
}
}
}
}
Err = ipc( SckNum );
if ( Err != 0 )
{ prtf( "\n Socket close failed!\n" );} }
Err = pdpa( 0, 1 );
prtf( "\n PDP deactivate result = %d\n", Err );
本文小結
基於GSM/GPRS的TCP/IP協議為很多應用提供了更高級的解決方案,例如,車輛定位、遠端抄表和遠端銀行等。它具有無線通訊的靈活性和行動性, TCP/IP協議提供對網際網路‘永遠連線’的通訊方式,以及相對於SMS、CSD等更為經濟的解決方案。新力易利信GSM模組,支援TCP/IP協議及嵌入式應用,是很完善的無線通訊解決方案之一。
作者:黃威
數通通訊技術有限公司
基於GSM/GPRS的IP協議提供了與網際網路‘永遠連線’的可能性,使之成為一種節約成本的選擇。為了開發基於IP協議的應用,系統設計師需要同時通曉無線網路和TCP/IP協議。本文將詳細介紹支援TCP/IP協議和嵌入式應用的新力易利信模組及其應用實例。
各種各樣的接取技術被用於無線網路。在FDMA技術中,每個用戶被分配一個頻率,而TDMA技術則透過時間分隔用戶。在CDMA技術中,所有用戶在同一時間使用同一頻段發送訊號,分隔用戶透過各自被分配到的唯一程式碼來實現。在2G系統中,數據傳輸主要是透過電路交換,即一個被分配給用戶的傳輸訊息通道,當一個用戶完成傳輸任務、讓出訊息通道後,該傳輸訊息通道才被提供給其他用戶使用。由於猝發性是數據業務的基本特徵,當一個用戶不再有數據傳輸時,寬頻就處於荒廢狀態中。在分組交換系統中,所有用戶分享同一個訊息通道,用戶則可以實現多工的功能。當一個用戶沒有需要傳輸的數據時,訊息通道就會被其他用戶所使用。資訊包的傳輸方法可透過媒體存取控制(MAC)協議被編排。
在網際網路上的資訊包傳輸全部基於IP協議。無線網路將與網際網路整合,資訊包透過無線媒介無縫地傳輸至基於IP協議的網路,在傳輸前,為了能直接到達指定目的地,數據包必須根據TCP/IP協議封裝。在GPRS網路中也採取了IP協議進行傳輸。
就服務的靈活性來說,幾乎所有的GSM模組都可以連接到GPRS網路。通常情況下,根據TCP/IP協議棧的資訊打包功能並不是模組特徵的一部份。在透過模組發送數據前,TCP/IP協議棧必須事先被開發,然而,只有很少的模組具有內嵌式的TCP/IP協議棧,數據可以透過模組直接被發送。如此一來,應用開發周期被縮短,其執行能力也在很大程度上得到提高。
本文將簡要介紹TCP/IP協議及在GPRS網路中實現TCP/IP的必要條件,詳細敘述支援TCP/IP協議和嵌入式應用的新力易利信模組及其應用實例。
基於GPRS的TCP/IP協議
TCP/IP 是為協同作業電腦、分享網路資源的一套協議。該協議成員包括IP、TCP、UDP等。TCP確保數據的正確傳送,如果對於一個資訊包來說,數據量太大, TCP則可將其分成若干組。IP被用來為資訊包到達另一端尋找通道,每一個與網路相連接的工作站都有一個唯一IP地址,該IP地址為一個32位元數,它通常被寫成四個十進制數位,每一個代表8位元,例如,165.21.32.70是新力易利信網站伺服器的一個IP地址。
TCP/IP是一個無連接協議,資訊以分組方式進行傳輸,資訊包的最大容量在初始化過程中得以商定。如果資訊超出其最大容量,則將被分成若干組分別傳送。資訊包未得以按順序傳送甚至丟失及再次轉發的可能性是存在的,因此,TCP必須將序號、資訊來源和目的地通道數,以及其他資訊添加進數據包中,被稱為 TCP包頭。接收器端將利用該資訊來檢測數據包是否被正確地接收,因而加以整理。要直接將資訊包發送至正確的工作站,僅有TCP包頭,是不充分的。一個 IP報頭必須被加在TCP包頭之上,源地址和目的地址被包括在IP包頭堙C發送資訊包至目的地,電腦將首先核對其自身的路由列表,如果目的地在自己的網路內,它將直接發送資訊包。否則,它將發送資訊包至網路閘道,每一個網路閘道都有一個路由列表,資訊包將透過幾個單獨的路由節點到達目的地址。
GPRS網提供網路功能將IP資訊包從行動用戶點傳送至外部網路。GPRS可以為IP地址提供多重選擇,包括公共地址、專用地址以及客戶代理地址。指定IP地址選擇權的GPRS機制被稱為接取點域名(APN)。
圖1 顯示了基於GSM/GPRS的TCP/IP系統結構。因為IP地址的整體供應受到限制,一個GPRS網路供應商通常使用專用的、可動態分配地址,然而,公共網址選擇可由專門的客戶提供,專用網址則無法越過公共網進行作業。為連接公共網路,專用網址被轉換成公共網址。該轉換透過一個節點產生,該節點是專用的網路地址轉換(NAT)。多重專用地址可被映射成一個公共地址,對於基於IP協議的應用,和有線網路一樣,在無線網路中它們以相同的方式工作。當 GPRS對話啟動時,大多數服務供應商也將監控數據的傳輸流量,如果在特定的一段時間內沒有數據傳輸,其連接將被斷開。
因為 TCP/IP資訊包是透過GSM網傳輸的,所以,必須考慮TCP/IP協議棧的一些參數配置。基於GPRS的TCP應當支援適當的窗口尺寸以利於最佳化端對端連接的頻寬延遲,默認接收和發送緩衝器比例應當增加到容納足夠大的窗口,被銜接層支援的IP數據包的最大值是最大傳輸單元(MTU)。在高誤碼率的鏈路上,較小的MTU尺寸增加了成功傳輸的機會,默認IP最大傳輸單元值為576位元組。依據鏈路條件和ARQ的配置,它有可能增加MTU大小到一個較大的值,一個較大的MTU允許TCP更快地增加擁擠窗口。對於基於GPRS的TCP/IP協議的設計,設計師必須考慮到這些問題。
新力易利信機對機通訊模組
很多GSM模組可以透過GSM/GPRS直接接取網際網路,如果模組上沒有TCP/IP協議棧,它則必須在其應用或周邊的微處理器中體現。新力易利信 GR47/48模組正是一種內建TCP/IP協議棧的模組之一。為開發基於GSM/GPRS網的TCP/IP應用,新力易利信提供了一套完整工具,其機對機通訊商業解決方案(M2mpower Business Solution)是一個強有力的支援環境,專為促進提高成本效益比率的無線機對機應用的研發而設計。M2mpower使開發者透過運用特定的開發工具,能夠更容易地將無線應用直接嵌入相容的新力易利信機對機產品中。M2mpower與可程式無線元件GR47/48一同被導入,其腳本語言是設立在產業級 ANSI C語言的基礎之上,使開發者將現有的應用可以平滑地轉換到M2mpower。
圖2顯示了GR47即時作業系統的結構。新款可程式無線模組GR47/48提供了完整全面的功能。該模組包括一個內建TCP/TP協議棧,以便更有效地使用GPRS。它允許一個TCP/UDP傳輸機制以最小的前期配置和作業來被使用。其內嵌控制器方便整合客戶的應用,減少外部控制器的需求,例如在警報、儀表抄送和自動售貨等應用上。GR47和 GR48分別支援雙頻GSM寬頻900MHz/1800MHz和850MHz/1900MHz,它們都可透過SMS 短消息服務、CSD、HSCSD或GPRS來發送或接收數據,並可處理語音及傳真。其TCP/IP協議棧亦可透過AT命令或嵌入式應用進行存取。
GR47/48 模組具有很多強大的特徵。其TCP/UDP會話可以透過一個命令啟動;它還提供為統一資源定位器(URL)查詢IP地址的功能;最有用的特點之一是IP伺服器偵聽功能,該功能允許通訊模組啟動與網路的對話,例如,一個被分配的IP地址無需連接任何部份,只要等待該單元接收一個基於IP的連接導入請求,即可實現。
應用實例
在這一部份,我們將列出一些使用新力易利信GR47模組的應用實例以供參考。第一個例子顯示了使用AT命令設立一個TCP會話的步驟,第二個則是嵌入式應用的範例。
1.使用AT命令接取GPRS網
GR47提供一系列AT命令來完成TCP/IP協議的功能,以簡化應用整合的流程。相關的命令可以讓應用設計者設立和取消UDP和TCP協議,控制GPRS PDP context的設立,傳送數據,檢查IP的狀態資訊等。
啟動TCP會話功能的步驟如下所示:
1. at+cgdcont=1,"IP","CMNET" \*write PDP context information, connect to China Mobile GPRS network*\
2. at*e2ipa=1,1 \*active IP session using stored PDP context*\
3. at*e2ipi=0 \*return currently assigned IP address*\
4. at*e2ipo=1,"166.111.8.238",23 \*initiate a TCP connection to the module*\
5. at*e2ipc \*close a currently opened IP connection*\
當模組處於數據傳輸狀態中時,需要啟動DTR來轉換回線上命令模式,ATO則被用於再次轉換回數據模式。
2.嵌入式應用接取GPRS網
以下描述示範怎樣啟動PDP文本、開始TCP對話以及接收數據。這只是整個程式的一部份,不能單獨執行。
/* Reset the IP error flag by reading it */
gtf( APPS_IP_ERROR_TRIGGER );
Err = pdpa( 1, 1 );
prtf( "\n PDP activate result = %d\n", Err );
if ( Err == 0 )
{ Val = ipi( 0 );
prtf( " IP Address = %x", Val );}
else
{ prtf( "\n PDP activation failed!\n" );
return;}
Err = ipo( 1, &SckNum );
if( Err != 0 )
{ prtf( " \n TCP Socket open failed!\n" );}
else
{ prtf( "\n TCP Socket Opened!\n" );
Err = tcpc( SckNum, Port, Address );
if( (Err == 0) || (Err == TCP_CONNECTING) || (Err == TCP_CONNECTED) )
{ while( !Complete && (gtb( APPS_IP_ERROR_STATUSBYTE ) == 0) )
{ int len;
/* Receive some data */
if( gtf( APPS_IP_DATA_RECVD ) )
{ prtf( "\n IP DATA RECVD" );
len = RXTX_SIZE;
Err = tcpr( SckNum, RxTxBuf, &len);
if( Err != 0 )
{ prtf( "\n *** Error in TCP Receive (%d). ***\n\n", Err );}
else
{ if( gtb( APPS_IP_TCPSTATUS_BYTE ) == TCP_CONNECTING )
{ prtf( "\n Delaying while TCP Connect occurs...\n\n" );}
else
{ prtf( "\n Received %d bytes of data.\n\n", len ); }
}
}
}
}
Err = ipc( SckNum );
if ( Err != 0 )
{ prtf( "\n Socket close failed!\n" );} }
Err = pdpa( 0, 1 );
prtf( "\n PDP deactivate result = %d\n", Err );
本文小結
基於GSM/GPRS的TCP/IP協議為很多應用提供了更高級的解決方案,例如,車輛定位、遠端抄表和遠端銀行等。它具有無線通訊的靈活性和行動性, TCP/IP協議提供對網際網路‘永遠連線’的通訊方式,以及相對於SMS、CSD等更為經濟的解決方案。新力易利信GSM模組,支援TCP/IP協議及嵌入式應用,是很完善的無線通訊解決方案之一。
作者:黃威
數通通訊技術有限公司
Thursday, May 8, 2008
How to use and include a dll to ASP .NET for VS 2005
How to use and include a dll to ASP .NET for VS 2005
1. Add Reference in [Project of Solution Explorer]
go to browser page and then select the dll file all you need
2. all dll shell copy to /bin by automatical, namespace should appear in /Bin ,
since you Added reference.
3. at your Code behind , just simple define those namespace by [using] keyword
and then you can new the class object of in namespace.
4. at your .aspx define Tag for that dll object as below
<%@ Register TagPrefix="tagName" Namespace="company.pub" Assembly="ObjectName" %>
Assembly name is one of class name in the Namespace.
in the .aspx you can use this object by call TagPrefix name
1. Add Reference in [Project of Solution Explorer]
go to browser page and then select the dll file all you need
2. all dll shell copy to /bin by automatical, namespace should appear in /Bin ,
since you Added reference.
3. at your Code behind , just simple define those namespace by [using] keyword
and then you can new the class object of in namespace.
4. at your .aspx define Tag for that dll object as below
<%@ Register TagPrefix="tagName" Namespace="company.pub" Assembly="ObjectName" %>
Assembly name is one of class name in the Namespace.
in the .aspx you can use this object by call TagPrefix name
Monday, April 7, 2008
ASP .NET Folders
\App_Code
The App_Code folder is meant to store classes, .wsdl files, and typed datasets. Any of these items stored in this folder then is automatically available to all the pages in the solution.
\App_Themes
Themes are used to define visual styles for web pages. Themes are made up of a set of elements: skins, Cascading Style Sheets (CSS), images, and other resources. Themes can be applied at the application, page, or server control level.
Relate Article: "Working with Themes in ASP.NET 2.0."
\App_Data
It contains application data stored in the form of files including MDF files, XML files, text file as well as other data store files. The user account utilized by the application will have read and write access to any of the files contained within the App_Data Folder. By default, this is the ASPNET account. The default ASPNET account is granted full permissions on the folder. If we change the ASPNET account, we have to make sure that the new account is granted read/write permissions on the folder.
\App_GlobalResources
Typical resources are images, icon, text and auxiliary files. Application resources are stored outside of the application so that they can be recompiled and replaced without affecting and recompiling the application itself. It is like the App_LocalResources folders, but contains .resx files that are not bound to a specific page. Resource values in .resx files in the App_GlobalResource folders can be accessed programmatically from application code. You can add Assembly Resource Files (.resx) to this folder and they are dynamically compiled and made part of the solution for use by all your aspx pages in the application. Let us assume that we have created two resource files in this folder, Resource.resx and Resource.it.resx. The first file, Resource.resx, is the default language file using American English. The second file is for same text but for Italian language. If anyone invokes any page after setting browser culture Italian, then the information will come from Resource.it.resx file and for others the information will come from default Resource.resx file.
\App_LocalResources
We can add resource files that are page-specific to the \App_LocalResources folder. We can define multiple .resx files for each page, each .resx file representing a different language or language/culture combination.
\App_WebReferences
you can use the \App_WebReferences folder and have automatic access to the remote Web services referenced from your application.
\App_Browsers
The App_Browsers folder holds browser files, which are XML files used to describe characteristics and capabilities of these browsers. We can find a list of globally accessible browser files in the CONFIG\Browsers folder under the installation path. In addition, if you want to change any part of these default browser definition files, just copy the appropriate browser file from the Browsers folder to your application’s \App_Browsers folder and change the definition.
\Bin
It contains compiled assemblies (.DLL files) for controls, components, or other code that we want to reference in our application. Any DLL files found in the directory will be automatically linked in the application. This is also recognized by ASP.NET 1.x applications. This folder is mandatory.
Subscribe to:
Posts (Atom)