1. Trang chủ
  2. » Công Nghệ Thông Tin

Luận văn xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình

101 337 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Luận Văn Xây Dựng Hệ Thống Hỗ Trợ Tra Cứu Lỗi Lập Trình
Tác giả Nguyễn Duy Hiện, Võ Cẩm Hiền
Người hướng dẫn GVHD: Nguyễn Chánh Thành
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận văn
Năm xuất bản 2006
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 101
Dung lượng 5,19 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong khung Solution Explorer, bn click ph i chu t trên project node ho c trên Reference node và ch n AddReference.. Trong h p tho i Add Reference, click vào tab có ki u component mà bn

Trang 2

H U

H

Lu n v n t t nghi p là m t trong nh ng s ki n quan trong đi ng i , và ngày hôm nay chúng em đã hoàn thành đ c đi u y Và đi u mà chúng em mu n nói

đ n đ u tiên là l i chân thành c m n sâu s c đ n b c

th y cô, nh t là t t c th y cô giáo tr ng i H c

K thu t Công Ngh , đ c bi t là đ i ng th y cô giáo khoa Công Ngh Thông Tin đã t n tình d y d , truy n

đ t nh ng ki n th c vô cùng quý báo đ cho chúng em

có th hoàn thành đ c đ án t t nghi p nh ngày hôm nay

Và đ c bi t c m n đ n th y Nguy n Chánh Thành,

ng i đã t n tình h ng d n chúng em th c hi n t t đ tài này

Trang 3

Ch ng II: KI N TH C MÔI TR NG PHÁT TRI N VÀ ADD-IN2

I Môi tr ng phát tri n DTE2

I.1 i t ng DTE2

I.2 Thêm m t tham chi u t i không gian tên EnvDTE4

I.3 Tham chi u đ i t ng DTE 5

I.4 Nh ng đ i t ng chính trong project5

II.4 ph c h i các l nh c a đ i t ng Add-in t i menu14

II.5 i u khi n đ i t ng Add-In v i Add-In Manager15

II.6 n p m t đ i t ng Add-In ngay t c thì16

II.7 Ch đ nh Add-in n p lên khi môi tr ng kh i đ ng16

II.8 Tri u g i các đ i t ng Add-In thông qua dòng l nh Devenv17 II.9 ng ký đ i t ng Add-In17

II.10.Các s ki n chính trong Add-In project19

Ch ng III: KI N TH C WEB SERVICE26

I Gi i thi u v Web Service26

I.1 V n đ chia s d li u26

I.2 Gi i quy t b ng phát tri n các ng d ng phân tán26

I.3 Web Service27

I.3.1 Các đ c đi m c a Web service27

I.3.2 L i ích khi s d ng Web service28

Trang 4

H U

H

n c a Web service29 II.2.1 Web service Directories29

II.2.2 Web service Discovery30

II.2.3 Web service Description30

II.2.4 Web service Wire Format30

II.3 Giao ti p gi a Client và Web service31

III Giao th c tri u g i Web Services31

III.1 HTTP-GET31

III.2 HTTP-POST33

III.3 SOAP33

IV Xây d ng, tri n khai và s d ng Web Service34

IV.1 Xây d ng Web service34

IV.2 Tri n khai Web service36

IV.2.1 Tri n khai Web service b ng cách copy36

IV.2.2 Các thành ph n đ c tri n khai trong Web service37 IV.2.3 S d ng Web service38

IV.2.3.1 Thêm Web Reference vào ng d ng khách(client)38 IV.2.3.2 Phát sinh l p Proxy40

I.2.1 Xây d ng ng d ng Admin Website

và Web Service theo mô hình đa t ng52

I.2.2 Xây d ng Web Client theo mô hình phân tán

Trang 5

H U

H

s d ng: ASP.NET54 I.2.5 Phân tích các nghi p v c a h th ng b ng ngôn ng UML55 I.2.6 Xây d ng add-in55

II.3.1 Cài đ t ph n Add-in72

II.3.2 Thêm đ i t ng Add-in thông qua h p tho i Add-in Manager73 II.3.3 Hi n th danh sách l i73

II.3.4 Hi n tr trang thông tin chi ti t l i74

II.4 Ph n Web Admin75

II.4.9 Màn hình chi ti t và c p nh t n i dung m c80

II.4.10.Màn hình thêm m c m i81

II.4.11.Màn hình qu n lý l i81

Trang 6

H U

H

c cho l i83 II.5 Ph n Web Client84

II.5.1 Màn hình tìm ki m84

II.5.2 Màn hình n i dung m c liên quan đ n l i85

II.6 Ph n Web Service85

Trang 7

H U

H

Hình 2.1: Mô hình đ i t ng t đ ng trên Visual Studio NET3

H ình 2.2: T o Add-in project b ng trình Visual Studio Add-in Wizard12

H ình 2.3: H p tho i Add-In Manager15

H ình 3.1: Các thành ph n c a Web service giúp client xác đ nh và g i các

ph ng th c c a Web service30

Hình 3.2: Th t trong l p HttpWebClientProtocol.32

H ình 3.3: H p tho i New Project34

H ình 3.4: H p tho i New Project35

H ình 3.5 Màn hình project Web Services35

H ình 3.6: Màn hình c u hình IIS36

H ình 3.7: H p tho i Properties c a trang web37

H ình 3.8: Màn hình Add Web Reference39

H ình 3.9: H p tho i Add Web Reference39

H ình 3.10: H p tho i Add Web Reference40

H ình3.11: Màn hình hi n th các file trong Web Services41

Hình 3.12: T ng quan v b o m t.42

Hình 3.13: H p tho i default Web Site Properties44

Hình 3.14: H p tho i Authentication Methods44

Trang 9

B ng 3.1: Ki u và các giá tr c a thu c tính trong authentication43

B ng 3.2: Ch c n ng phân quy n trong b o m t Authorization51

B ng 4.10: Ch c n ng các control trong màn hình chi ti t sách76

B ng 4.11: Ch c n ng các control trong màn hình thêm sách m i77

B ng 4.12: Ch c n ng các control trong màn hình xoá sách77

B ng 4.13: Ch c n ng các control trong màn hình c p nh t sách78

B ng 4.14: Ch c n ng các control trong màn hình qu n lý ph n trong sách79

B ng 4.15: Ch c n ng các control trong màn hình qu n lý ch ng trong sách79

B ng 4.16: Ch c n ng các control trong màn hình qu n lý m c trong sách80

B ng 4.7: Ch c n ng các control trong màn hình c p nh t m c81

B ng 4.18: Ch c n ng các control trong màn hình thêm m c m i82

B ng 4.191: Ch c n ng các control trong màn hình qu n lý l i82

B ng 4.20: Ch c n ng các control trong màn hình c p nh t l i83

Trang 11

Chú ý: Sinh viên ph i dán nhi m v b n này vào trang th nh t

trong t p báo cáo đ án t t nghi p

H và tên : Nguy n Duy Hoà MSSV : 10102062

Xây d ng ph n Add-In vào môi tr ng phát tri n c a VS.NET 2003

Xây d ng Web Server theo mô hình 3 l p

3 Ngày giao nhi m v đ án : 3/10/2005

: 9/1/2006

5 H tên giáo viên h ng d n : ThS Nguy n Chánh Thành

Trang 12

H U

H

(Ký và ghi rõ h tên)

PH N DÀNH CHO B MÔN

Ng i duy t (ch m s b ):

n v :

Ngày b o v :

i m t ng quát:

Trang 13

th ng h tr tra c u l i l p trình trong môi tr ng l p trình Visual Studio NET 2003” mà chúng tôi nhn th t s là m t đi u mà không ch cá nhân tôi

mà r t nhi u các l p trình viên khác h ng mong c

tài này xây d ng m t công c h tr vi c tra c u l i trong môi

tr ng l p trình Visual Studio NET 2003 Công c này bao g m 2 ph n; ph n add-in t ng tác v i môi tr ng phát tri n c a VS.Net 2003 (IDE), ngoài ra còn h tr thêm m t Web Server cho phép ph n add-in truy c p t i kho d li u

đ nh n v thông tin liên quan đ n l i Ngoài ra, Web Server còn cho phép các client đ ng ký, truy c p và xem các thông tin v l i

II Ch c n ng

u tiên, đ s d ng h th ng h tr tra c u l i l p trình, ng i dùng

c n cài đ t công c này H th ng h tr tra c u l i có các ch c n ng sau:

• Sau khi biên dch, ph n Add -in s truy c p vào h th ng Visual Studio NET 2003 l y danh sách l i, và hi n th trong tab OutputWindow

• T tab OutputWindow này cho phép ng i dùng click vào hyperlink bên c nh mã l i đ mang v thông tin liên quan đ n l i đó

• i v i ng i qu n tr c s d li u, h có th truy c p vào h th ng

b ng quy n Admin và qu n tr d li u

• i v i ng i dùng thông th ng, h có th đ ng ký account, và truy

c p vào trang web đ tra c u các thông tin liên quan đ n l i

Trang 14

T t c các đ i t ng và các thành viên trong mô hình t đ ng hoá Visual

Studio.NET đ u d a trên đ i t ng DTE i t ng DTE tiêu bi u cho môi

tr ng phát tri n đ c tích h p trên Visual Studio.NET và là đ i t ng trên cùng trong mô hình h th ng c p b c Nó đ t trong m t không gian tên g i là

EnvDTE Tên ca s n ph m t o ra trên NET đ i v i khô ng gian tên này là

“envdte” và đ c ch a đ ng trong m t file g i là envdte.dll Tên th vi n có

d ng nh COM là Microsoft Development Environment 7.0” và đ c ch a

đ ng trong file g i là dte.olb

i t ng DTE đ c cung c p t i b n qua ph ng th c OnConnection

mà b n cài đ t khi t o ra m t đ i t ng Add-In i t ng DTE là đ i t ng

Application trong Visual Basic.

Trang 16

Dim objTextDoc As TextDocument

Dim objEP As EditPoint

'T o m t tài li u v n b n m i.

DTE

'L y quy n đi u khi n t i tài li u m i.

.ItemOperations.NewFile("General\Text File")

Set objEP = objTextDoc.StartPoint.CreateEditPoint

.ActiveDocument.Object("TextDocument")

'T o m t EditPoint và thêm đo n v n b n.

objEP.Insert "A test sentence."

End Sub

I.2 Thêm m t tham chi u t i không gian tên EnvDTE

Dù b n ch n đ i t ng NET assembly hay lo i th vi n d ng COM tu thu c vào project c a b n Khi b n t o m t đ i t ng Add-in s d ng trình

Add-In Wizard (trong b t k ngôn ng nào) hay khi b n t o m t macro, thì

m t tham chi u t i không gian tên EnvDTE đ c thi t l p s n cho b n N u

b n mu n truy c p t i ph n bên ngoài c a các đ i t ng t đ ng hoá c a các

đ i t ng macro hay các đ i t ng Add-in đ c t o b i trình Add-In Wizard

thì b n ph i thi t l p b ng tay tham chi u này

thêm m t tham chi u t i không gian tên EnvDTE trong Visual C# NET, ta th c hi n nh sau:

1 Trong khung Solution Explorer, bn click ph i chu t trên project node ho c trên Reference node và ch n AddReference

2 Trong h p tho i Add Reference, click vào tab có ki u component

mà bn mu n, nh .NET hay COM Tìm trong danh sách các component và chn envdte hay Microsoft Development Environment 7.0 , sau đó click OK

Trang 17

H U

H

I.3 Tham chi u đ i t ng DTE

M t khi project c a b n đã có tham chi u t i môi tr ng EnvDTE, thì

b n có th thi t l p m t tham chi u t i đ i t ng DTE theo đo n code sau:

tr ng Visual Studio NET IDE hi n hành đang ch y.

Nh ng đ truy c p vào bên trong môi tr ng phát tri n c a VS.NET

2003, l y mã l i và hi n th trên VS.NET 2003, ch ng trình c n s d ng các

đ i t ng sau đây làm vi c nh các macro: đ i t ng Events, BuildEvents,

CommandEvents, TaskListEvents, OutputWindowEvents, Window, OutputWindowPane và các ph ng th c s ki n OnConnect,

OnStartupComplete, OnAddInsUpdate, OnBeginShutdown, OnDisconnection

I.4 Nh ng đ i t ng chính trong project

I.4.1 i t ng Events

Cho phép truy c p t i t t c các s ki n trong mô hình m r ng Các s

ki n này c ng có th đ c ph i bày t các đ i t ng ch đ nh bên trong mô

hình m r ng DTE

DTE

Events

Nh n xét:

Mô hình t đ ng hoá ch a đ ng m t đ i t ng s ki n g c Events mà

các clients cùng loi đ c vi t b t kì ngôn ng nào c ng có th tham chi u

t i các s ki n t đ ng hoá Các công c IDE , các lo i project khác nhau, có

th thêm các s ki n b sung t i đ i t ng Events mà chúng ch đ nh

Trang 18

H U

H

Minh ho :

Public Module Module1

Dim WithEvents bldevents As BuildEvents

Dim applicationObject As EnvDTE.DTE

Sub EventsExample()

Dim addInInstance As EnvDTE.AddIn

applicationObject = CType(Application, EnvDTE.DTE)

bldevents = CType(applicationObject.Events.BuildEvents, EnvDTE.BuildEvents)

public BuildEvents BuildEvents {get;}

Tr v đ i t ng BuildEvents, cung c p các s ki n cho các gi i pháp

trình xây d ng

OnBuildProjConfigBegin Xu t hi n khi vi c đ nh hình m t d án b t đ u OnBuildProjConfigDone Xu t hi n khi vi c đ nh hình m t d án k t thúc

B ng 2.1: S ki n và ho t đ ng c a đ i t ng BuildEvents

Trang 19

Thu c tính:

public CommandEvents CommandEvents(

string Guid, int ID

) {get;}

Tham s :

Guid: đ c yêu c u ây là GUID cho nhóm l nh N u Guid là

Null ho c Nothing, thì CommandEvents tr v m t đ i t ng

CommandEvents t ng tr ng cho t t c các l nh trong môi tr ng

ID: đ c yêu c u M t ch m c trong nhóm l nh t ng ng v i

l nh c th N u ID là Null hay Nothing, thì CommandEvents tr v m t đ i

t ng CommandEvents t ng tr ng cho t t c các l nh trong nhóm

Trang 20

Filter: tu ch n ây là tên c a danh m c tác v N u Filter đ c

h tr , thì đ i t ng TaskListEvents ch cung c p các s ki n cho danh m c

đó N u Filter không đ c h tr m t giá tr danh m c h p l , thì thu c tính

m t tác v trong Task List

TaskRemoved Xu t hi n khi m t tác v b lo i b kh i Task List

B ng 2.3: S ki n và ho t đ ng c a đ i t ng TaskListEvents

Ghi chú:

i t ng TaskListEvents đ c tr v b i DTE.Events

Trang 21

Khung không c n ph i t n t i khi đ i t ng

OutputWindowEvents đ c t o N u khung đ c t o b t k lúc nào thì các

s ki n s đ c t đ ng cung c p cho nó

Các s ki n

PaneAdded Xu t hi n khi m t khung c a s Output m i đ c t o

PaneClearing Xu t hi n khi t t c v n b n trong khung c a s Output b xoá

PaneUpdated Xu t hi n khi v n b n m i đ c thêm t i m t khung trong c a

s Output

B ng 2.4: S ki n và ho t đ ng c a đ i t ng OutputWindEvents

Ghi chú:

i t ng OutputWindowEvents đ c tr v b i DTE.Events

Trang 22

Dim objTW As TextWindow

Dim objPane As TextPane

Dim objStart As TextPoint

MsgBox("It begins at line " & Str(objStart.Line) & ", column

" & Str(objStart.LineCharOffset) & ".")

Trang 23

H U

H

ch n v i m t h p x xu ng t i đ nh c a c a s Ch ng h n, quá trình build errors thì đi v i khung “Build Errors”, trong khi m i công c l nh bên ngoài đi

v i khung c a s output riêng bi t c a nó

Minh ho :

Sub OutputWindowPaneExample()

' Create a tool window handle for the Output window

Dim win As Window =

DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput)

' Create handles to the Output window and its panes

Dim OW As OutputWindow = win.Object

Dim OWp As OutputWindowPane

' Add a new pane to the Output window

OWp = OW.OutputWindowPanes.Add("A New Pane")

' Add a line of text to the new pane

OWp.OutputString("Some Text")

End Sub

II K thu t Add-In

t o m t công c cho m t nhi m v ho c đ t o m t công c đ giúp

nh ng l p trình viên khác t o ra các ph n m n c a h , b n có th s d ng mô hình v i k thu t t đ ng trên Visual Studio NET mô hình v i k thu t t

đ ng, đ c bi t đ n trong phiên b n tr c c a Visual Studio NET nh mô hình có kh n ng m r ng, là m t giao di n l p trình cho phép b n truy c p t i các th t c bên d i có ch y môi tr ng phát tri n đ c tích h p, cho phép

hi u ch nh, thao tác và t đ ng hoá nó Ch ng h n, b n có th t o các d án và các m c l c d án m t cách l p trình hay t đ ng hoá vi c xây d ng m t d án

và các ti n trình tri n khai d án

Chú ý: Kh n ng m r ng là kh n ng cho phép phát tri n và m r ng

ch c n ng c a IDE K thu t t đ ng hoá nói đ n mã đ c t o ra theo thao tác

c a user và các công c mà t đ ng hoá các tác v trong môi tr ng và ch y IDE theo cách đ c l p trình

B n có th truy c p t i mô hình t đ ng hoá thông qua các macro trên

VS.NET (VSMacros), b ng cách t o các m r ng cho IDE dc g i là Add-in,

hay b ng cách cài đ t m t m c m i ho c các Add Project wizard Các

Add-in đ c biên d ch thành các app mà có th thao tác v i môi tr ng làm vi c và các tác v t đ ng hoá Các Add -in có th đ c tri u g i theo m t trong các

Trang 24

H U

H

cách khác nhau, bao g m Add-in Manager, toolbar command hay các nút, các

dòng l nh, hay thông qua các s ki n nh kh i đ ng IDE

Trong phn h tr t i mô hình đ i t ng chung đ c cung c p b i Visual Studio NET t i t t c các ngôn ng l p trình , các công c và các gói

c a nó, riêng v i các ngôn ng l p trình trên Visual Studio NET c ng có th cung c p các b sung k thu t riêng c a chúng t i mô hình đ i t ng t đ ng hoá nh m h tr các đ c đi m riêng bi t và các thành ph n T t y u b n có th

t o m t đ i t ng Add-in mà làm vic r t t t v i b t k ngôn ng nào trên Visual Studio NET, hay đi v i ngôn ng nào đ c ghép vào đ cung c p

nh ng đi m đ c bi t c a m t ngôn ng riêng bi t, ch ng h n VB hay VC++

II.1 T o m t đ i t ng Add-in

Trình Add-in Wizard cho phép t o m t đ i t ng Add-in v i đ y đ các khung ch c n ng mà có th ch y ngay sau khi b n hoàn t t nó Sau khi trình Add-in Wizard t o m t b khung c b n, b n có th thêm code t i nó và hi u

II.2 Các b c t o đ i t ng Add-in b ng Wizard

o Add-in project b ng tr ình Visual Studio Add-in Wizard

Trang 25

H U

H

Trình Add-in Wizard cho phép b n cung c p m t tên hi n th và mô t

cho đ i t ng Add-in, c hai xu t hi n trong h p tho i Add-In Manager B n

có th ch n đ cho trình Wizard t o mã mà cho phép thêm m t l nh t i menu

Tools đ load và tri u g i đ i t ng Add-in Khi trình Wizard hoàn t t, b n có

đ c môt project m i v i m t môđun đ n gi n đ cài đ t đ i t ng Add-in

B n c ng có đ c setup project đ t o ra file msi mà có th đ c dùng đ cài

đ t đ i t ng Add-in trên h th ng khác (hay đ c p nh t vi c đ ng ký c a đ i

t ng Add-in trên máy tri n khai mà đôi khi là c n thi t đ i v i nh ng gì mà

b n làm v i đ i t ng Add-in c a b n)

Các b c th c hi n:

1 T o m t VS Add-In project m i B n có th tìm th y project này t

m c Extensibility Projects bên d i Other Projects

2 Ch n m t ngôn ng t khung Select a Programming Language

i u này cho phép b n ch n m t ngôn ng đ i v i đ i t ng Add-in

đ c t o ra

3 Ch n m t ho c nhi u ng d ng t khung Select an Application

Host i u này cho phép b n ch n các ng d ng mà b n c ng mu n

ch y đ i t ng Add-in sau khi t o

4 Nh p vào tên và mô t cho đ i t ng Add-in c a b n trong khung

Enter a Name and Description Tên này s đ c hi n th trong

danh sách Available Add-Ins c a h p tho i Add-In Manager và cho các user bi t đ c đ i t ng Add-in làm gì, làm nh th nào, và h n

th n a

5 Trong khung Choose Add-in Options, hãy ch đ nh nh ng gì mà

b n mu n đ i t ng Add-in xu t hi n trong menu Tools, khi nào b n

mu n đ i t ng Add-in xu t hi n, và nh ng gì mà đ i t ng s cho phép đ i v i các đ i t ng khác ho c không i u này cho phép b n

ch đ nh các tu ch n theo thói quen ch c ch n cho đ i t ng Add-in

c a b n

6 Trong khung Choosing Help About Information, hãy ch đ nh

nh ng gì b n mu n v m t h p thông tin Help About, và n u th ,

Trang 26

H U

H

hãy ch đ nh thông tin mà b n mu n hi n th i u này cho phép b n

t o m t c a s Help About ch a các thông tin v phiên b n, thông tin h tr , thông tin b n quy n cho đ i t ng Add-in c a b n và h n

th n a Sau 6 b c, các tu ch n mà b n đã ch n đ c hi n th trong m t trang t ng k t

7 Ch n Finish đ t o đ i t ng Add-in

Lúc này bn có đ c m t đ i t ng Add -in v i đ y đ các ch c n ng,

nh ng còn r ng

II.3 K t qu các l nh c a đ i t ng Add-in

Khi b n t o ra m t đ i t ng Add-in s d ng trình Add-in Wizard và

sau khi ch y nó, m t th c th khác c a VS.NET kh i đ ng, cho phép b n ki m tra và bãy li đ i t ng t ng k t M t ho c nhi u l nh cho đ i t ng Add -in

đ c đ t trên m t ho c nhi u menu, ch ng h n menu Tools Sau khi b n hoàn

t t b c bãy l i đ i t ng Add-in và sau đó đóng li th c th th hai c a VS.NET, thông tin v l nh s đ c l u l i

II.4 ph c h i các l nh c a đ i t ng Add-in t i menu

T bây gi , khi ch y VS.NET, các l nh c a đ i t ng Add-in s đ c

hi n th trên các menu Trình setup project s xây d ng và cài đ t nhanh h n

n u b n xác đ nh nó lo i tr môđun k t h p có th phân ph i l i khi ch y trên NET Runtime

Trang 27

H U

H

II.5 i u khi n đ i t ng Add-In v i Add-In Manager

Add-In Manager là m t công c đ load và lo i b các đ i t ng Add-in trong IDE, và rt ti n đ ch đ nh các hành vi load lên c a chúng Add -In Manager li t kê t t c các đ i t ng đ c đ ng ký hi n th i S d ng Add-In Manager, b n có th load hay unload m t đ i t ng Add-In ngay t c thì, hay

ch đ nh m t đ i t ng Add-In khi môi tr ng phát tri n kh i đ ng ho c khi nó

đ c kh i đ ng thông qua m t dòng l nh, nh v i m t thao tác t o d ng

2 Ch n vào check box trong dòng Startup, và click OK

N u đ i t ng Add-in có m t giao di n (interface), thì nó s xu t hi n, hay đ i t ng Add-in có th xu t hi n nh m t nút tên toolbar hay m t l nh trên menu tùy theo b n ch n l a, đi u này ph thu c vào cách b n l p trình cho

Trang 28

H U

H

đ i t ng Add-in N u đ i t ng Add-in không có m t giao di n đ h a (UI),

nó s load lên m t cách âm th m và b t đ u ch y

2 Ch n vào check box trong dòng Startup, và click OK

N u đ i t ng Add-in có m t giao di n (interface), thì nó s xu t hi n, hay đ i t ng Add-in có th xu t hi n nh m t nút tên toolbar hay m t l nh trên menu tùy theo b n ch n l a, đi u này ph thu c vào cách b n l p trình cho

đ i t ng Add-in N u đ i t ng Add-in không có m t giao di n đ h a (UI),

nó s load lên m t cách âm th m và b t đ u ch y

M o: N u b n c load m t đ i t ng mà không th đ c đ nh v thì trình Add-In Manager s thoát b đ ng ký nó đ nó không còn xu t hi n trong danh sách n a

II.7 Ch đ nh Add-in n p lên khi môi tr ng kh i đ ng

Các b c th c hi n:

1 Ch n đ i t ng Add-in t danh sách

2 Ch n ô Load at startup trong dòng Startup

L n sau khi môi tr ng kh i đ ng, thì đ i t ng Add-in s load lên n u

nó có hi u l c

Trang 29

devenv /command <command>.<name>

đây, command.name là tên l nh trong đ i t ng Add-in c a b n

II.9 ng ký đ i t ng Add-In

M t khi m t đ i t ng Add-In đ c t o ra, nó ph i đ c đ ng ký nh là

m t thành ph n COM v i các b n Microsoft Windows Trình Add-in Wizard

s t đ ng th c hi n vi c đ ng ký này cho b n, nh ng n u b n không s d ng trình Add-in Wizard đ t o ra đ i Add-in, b n ph i làm đi u này b ng tay theo các b c sau:

1 M c a s dòng l nh

2 N u b n đang s d ng VB.NET hay VC#.NET, hãy đánh

regasm <name>.dll

đây, <name> là tên c a đ i t ng Add-In

N u b n s d ng VC++.NET, hãy dùng regsvr32

Sau khi m t đ i t ng Add -in đ c đ ng ký, nó đ c nh n ra b i môi

tr ng tri n khai đ c tích h p (IDE) li t kê nó trong h p tho i Add-In

Manager, bn ph i t o ra các khoá đ ng ký cho nó, nh dòng bên d i Trong vài tr ng h p, s là có ích đ bi t đ c nh ng gì mà các khoá đ ng ký

đ c gi t o b i trình Add-In Wizard Trình Add-In Wizard t o m t mã

ch ng trình th ng nh t ( progID) cho m i đ i t ng Add -in và chèn nó vào

trong ph n đ ng ký M t progID bao g m tên c a d án và theo sau là tên c a

môđun l p, nh MyProj.MyClass

Chú ý r ng HKEY_CURRENT_USER đ c dùng đ làm cho đ i t ng Add-in có hi u l c ch đ i v i user hi n th i làm cho nó có hi u l c đ i v i

t t c các user, hãy thay b ng HKEY_LOCAL_MACHINE M i ProgID ch a

đ ng c p tên/giá tr sau:

Trang 30

H U

H

• FriendlyName – tu ch n Là tên xu t hi n trong danh sách các đ i

t ng Add-In có hi u l c c a trình Add-In Manager Giá tr này là

tu ch n nh ng nó có yêu c u s d ng cao

• Description – tu ch n Là m t chu i đ c hi n th bên d i c a

h p tho i Add-in Manager khi đ i t ng Add -in đ c thêm vào

Giá tr này là tu ch n nh ng nó có yêu c u s d ng cao

B ng 2.5: Các tu ch n cho load đ i t ng Add-in

• CommandPreload – tu ch n Là m t giá tr d ng Boolean cho bi t khi nào là ln đ u tiên mà Visual Studio đã kh i đ ng t khi đ i

t ng Add-in đ c đ ng ký Ch ng h n, c này cho phép b n ch

đ nh m i khi m t đ i t ng Add-in đ c load đ đ t các l nh trong các menu, và ngay sau đó nó không đ c load cho đ n khi m t user

cu i cùng s d ng m t trong các l nh này, mà sau đó load lên theo yêu c u đ i t ng Add-in trong t t c các th c th k ti p c a IDE

0 Cho bi t đ i t ng Add-in đã cài đ t các l nh c a nó

1 Cho bi t đ i t ng Add-in v n c n cài đ t các l nh

c a nó

B ng 2.6: Ý ngh a c a c CommandPreload

Trang 31

• CommandLineSafe – tu ch n Cho bi t dù đ i t ng Add -in có

đ c thi t k hay không đ tránh hi n th m t giao di n ng i dùng

(UI) khi đ c tri u g i b i dòng l nh devenv

• SatelliteDllPath và SatelliteDllName – tu ch n Các m c tên và

mô t trong ph n đ ng ký có th đ c đ nh v N u giá tr c a chúng

b t đ u v i d u # và theo sau đó là m t s nguyên có th chuy n

ki u, thì giá tr d ng chu i đ c hi n th trong h p tho i Add-in

Manager là giá tr c a mã ngu n đ c ch đ nh bên trong file v tinh trung tâm DLL File v tinh trung tâm DLL này đ c xác đ nh b i

m t ho c hai m c đ ng ký có giá tr tu ch n sau :

o SatelliteDllPath – N u đ c hi n th , giá tr này là m t tên

đ ng d n đ y đ d ng chu i ch t i m t th m c, k t thúc

b i m t d u (\) Trình Add-in Manager tìm ki m file Dll v

tinh trung tâm trong khu vc b i s trùng kh p đ ng d n

ho c là th m c đ c tính tr c đ c mô t cho SatelliteDllPath

II.10 Các s ki n chính trong Add-In project

object[] custom );

Trang 32

AddInInst: m t đ i t ng Add-In đ i di n cho m t th c th c a Add-In

Custom: M t m ng các bi n mà b n có th dùng đ cung c p cho d li u

b sung

Nh n xét:

OnConnect là m t ph ng th c mà khi giao di n d ng host c a nó

(IDTExtensibility2) đ c cài đ t, nó hành đ ng nh m t s ki n xu t hi n khi

m t đ i t ng Add-In đ c load i u này xu t hi n khi:

• M t user load đ i t ng Add-In thông qua h p tho i Add-In

Dim applicationObject As EnvDTE.DTE

Dim addInInstance as EnvDTE.AddIn

applicationObject = CType(application, EnvDTE.DTE)

addInInstance = CType(addInInst, EnvDTE.AddIn)

End Sub

End Class

Trang 33

H U

H

II.10.2 Ph ng th c OnStartupComplete

Xu t hi n khi môi tr ng đã hoàn t t quá trình kh i đ ng

void OnStartupComplete( object[] custom );

S ki n OnStartupComplete xu t hi n khi ng d ng ch c a nó hoàn

t t ti n trình kh i đ ng c a nó, trong tr ng h p mà đ i t ng Add-In load t i lúc môi tr ng kh i đ ng N u đ i t ng Add-In không đ c load lên lúc ng

d ng load, thì s ki n OnStartupComplete không xu t hi n, ngay c khi user load đ i t ng Add-In thông qua h p tho i Add-In Manager Khi s ki n này

xu t hi n, nó xu t hi n sau s ki n OnConnection

B n có th dùng s ki n OnStartupComplete đ ch y đo n code mà

t ng tác v i ng d ng, nh ng không nên ch y cho đ n khi ng d ng k t thúc quá trình load Chng h n, n u b n mu n hi n th m t form mà cho user m t

ch n các tài li u đ t o khi chúng b t đ u ng d ng, b n có th đ t đo n mã đó bên trong th t c s ki n OnStartupComplete

Dim applicationObject As EnvDTE.DTE

Dim addInInstance as EnvDTE.AddIn

Public Sub OnStartupComplete(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnStartupComplete Msgbox("IDE startup complete event occuring.")

End Sub

End Class

Trang 34

OnAddInsUpdate là m t ph ng th c m à khi giao din ch c a nó

đ c cài đ t, nó ho t đ ng khi m t s ki n t o ra m t thay đ i t i danh sách

các đ i t ng Add -In trong hp tho i Add-In Manager, nh khi mt đ i

t ng đ c load hay unload

S ki n OnAddInsUpdate xu t hi n trong vài tr ng h p khác c a các

đ i t ng Add-In Ch ng h n, n u c hai đ i t ng Add -In A và B hin t i cùng đ c load, và sau đó thì đ i t ng Add -In C đ c load, thì s ki n OnAddInsUpdate xu t hi n trong các đ i t ng A và B N u C b unload thì s

Dim applicationObject As EnvDTE.DTE

Dim addInInstance as EnvDTE.AddIn

Trang 35

OnBeginShutdown là m t ph ng th c mà khi giao di n ch c a nó

đ c cài đ t, nó ho t đ ng nh m t s ki n xu t hi n khi môi tr ng đang shut down

S ki n OnBeginShutdown xu t hi n khi m t ng d ng ch b t đ u

ti n trình shutdown c a nó; ngh a là khi mt ng d ng đóng trong khi đ i

t ng Add-In v n đ c load N u đ i t ng Add-in hi n t i không đ c load khi ng d ng đóng, thì s ki n OnBeginShutdown không xu t hi n Khi đi u

này x y ra thì s ki n này xu t hi n tr c s ki n OnDisConnection

Ta c ng có th dùng s ki n OnBeginShutdown đ ch y khi user đóng

m t ng d ng Ch ng h n, ta có th ch y đo n code mà l u l i d li u c a form

Trang 36

);

Tham s

RemoveMode: là mt h ng s ext_dm ch đ nh cách đ i t ng Add -in

đ c load

custom: m t m ng các ki u giá tr c a bi n mà cung c p d li u b sung

i u này không đ c dùng b i Visual Studio NET

Ghi chú:

OnDisconnection là mt ph ng th c mà khi giao di n ch c a nó

đ c cài đ t, nó ho t đ ng nh m t s ki n xu t hi n khi m t đ i t ng Add-in

đ c load

M t đ i t ng Add-in có th b unload trong m t vài cách sau:

• Xoá check box tip theo t i đ i t ng Add-in trong hp tho i Add-In Manager

• óng ng d ng ch c a nó N u m t đ i t ng Add -In

đ c load và ng d ng c a nó đóng, thì sau đó đ i t ng Add-In b unload N u thu c tính loadBehavior c a đ i

t ng Add-In đ c thi t l p lúc Startup, thì nó đ c load

l i khi m t ng d ng b t đ u tr l i

• Thu c tính Connect c a đ i t ng Add-In t ng ng đ c

thi t l p False

Trang 37

Dim applicationObject As EnvDTE.DTE

Dim addInInstance as EnvDTE.AddIn

Public Sub OnDisconnection(ByVal RemoveMode As

Extensibility.ext_DisconnectMode, ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnDisconnection Msgbox("Add-In disconnection event occuring.")

End Sub

End Class

Trang 38

H U

H

Ch ng III: KI N TH C WEB SERVICES

I Gi i thi u v Web Services

I.1 V n đ chia s d li u

Các máy tính c n đ c chia s d li u v i nhau Có nhi u công vi c c n

ph i chia s d li u nh : Nh ng nhà kinh doanh c n chia s d li u v i đ i tác,

b ph n này trong công ty c n g i d li u đ n b ph n khác, các ng d ng c a

• Môi tr ng x lý d li u gi a các đ i lý trong cùng m t công ty

c n chia s d li u c a khách hàng, thông tin hoá đ n

• Tích h p các ng d ng l n nh tích h p gi a d li u v email

c a công ty v i d li u v nhân s

I.2 Gi i quy t b ng phát tri n các ng d ng phân tán

Phát trin ng d ng phân tán(Distributed application Development) là ngh thu t và k thu t đ l y d li u t máy này sang máy khác Có nhi u công ngh cho vi c xây d ng các ng d ng có th g i và nh n d li u CORBA(Common Object Request Broker Architerture), RMI(Remote Method Invocation), và DCOM(Distributed Component Object Model) Nhng công ngh này đa s đ u có các nh c đi m, và không đ c s d ng cho các môi

tr ng không đ ng nh t

DCOM đ c xây d ng d a trên COM (Component Object Model) là

m t chu n nh phân mà h u nh không th tri n khai đ c bên ngoài môi

tr ng Microsoft Windows

CORBA là m t công ngh phân tán có th ch y trên nhi u môi tr ng Tuy nhiên vì nhi u lý do, trong đó nh ng nhà phát tri n nh n th y s khó kh n trong vi c th c thi các ng d ng d a trên CORBA

Trang 39

H U

H

I.3 Web Services

Web service là m t công ngh phân tán g m có nh ng đ i t ng(object)

và ph ng th c(method) có th đ c g i lên t b t k client nào thông qua giao th c HTTP Web service đ c xây d ng ch y u d a trên giao th c SOAP(Simple Object Access Protocol) đ h tr truy n thông đi p qua t ng

v n chuy n HTTP và s d ng đ nh d ng XML đ mô t d li u D li u liên

quan đ n vi c g i ph ng th c và các tham s đ c truy n đ n Web service

đ nh d ng XML s d ng giao th c SOAP trên t ng v n chuy n HTTP

I.3.1 Các đ c đi m c a Web service

• Cho phép các ng d ng giao ti p thông qua m ng LAN, intranet, và

ch y trên các h đi u hành khác nhau, đ c t o ra t các ngôn ng khác nhau

và đ c xây d ng b ng nhi u mô hình đ i t ng khác nhau

Web service giao tip b ng cách s d ng các giao th c Web chu n và các đ nh d ng d li u, nh là HTTP, XML, và SOAP(Simple Object Access Protocol) B t k nh ng h th ng nào có h tr nh ng chu n Web nh v y có

th ch y đ c Web service

Web Service có th đ c s d ng c c b nh m t ng d ng đ n l , hay

đu c nhi u ng d ng khác nhau truy xu t thông qua m ng c c b (LAN), intranet và internet B i vì Web service đ c truy xu t thông qua m t giao di n chu n, Web service cho phép các h th ng tách bi t làm vi c cùng nhau, mô hình Web service đ c l p ngôn ng , môi tr ng, n n và các mô hình đ i t ng

Trang 40

H U

H

I.3.2 L i ích khi s d ng Web service

I.3.2.1 Liên k t l ng(Loosely couple)

Loose couple có ngha là m i d ch v t n t i đ c l p v i các d ch v khác hình thành nên ng d ng i u này cho phép các ph n riêng l c a ng

d ng đ c s a ch a mà không nh h ng đ n nh ng ph n không liên quan, đây là m t yêu c u th c ti n trong thi t k các ki n trúc h ng d ch v (Service

Oriented Architecture)

I.3.2.2 H tr c u trúc h ng d ch v

Web service th hi n s k t h p gi a s phát tri n d a trên d ch v (service-based development) ca các ng d ng và Web Trong mô hình SOA(Service oriented Architecture), các quy trình công vic t o nên ng d ng

đ c tách bi t đ c l p v i nhau, d dàng phân tán các d ch v

I.3.2.3 D dàng tích h p

Không gi ng nh nh ng ph ng pháp tích h p khác, Web service đang

đ c ch p nh n r ng rãi trong ngành công nghi p ph n m m S ch p nh n

r ng rãi này giúp gi m b t n i lo c a các công ty có th b “lock” v công ngh trong t ng lai Các chu n c a Web service d đ c, cho phép nh ng nhà phát tri n xem đ c chính xác nh ng gì đang x y ra trong h th ng

I.3.2.4 D truy xu t

Web service đ c phân tán trên Internet Web service s d ng giao th c

v n chuy n nh HTTP, tác đ ng đ n các ki n trúc đang có và cho phép thông

tin đ c yêu c u và nh n trong th i gian th c

II C s h t ng Web Services

II.1 Các chu n và giao th c

II.1.1 Extend Markup Language(XML):

Là n n t ng c a Web service là XML XML là ngôn ng đ nh d ng đánh

d u d li u ngày càng tr nên ph bi n T ng t nh HTML, XML d a trên các Tag Mc dù XML không thay th HTML, nó là m t đ nh d ng b sung

Ngày đăng: 10/09/2014, 22:25

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Mô hình  đ i t ng t  đ ng trên Visual Studio .NET - Luận văn xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình
Hình 2.1 Mô hình đ i t ng t đ ng trên Visual Studio .NET (Trang 15)
Hình 3.15: Mànhình Computer Management - Luận văn xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình
Hình 3.15 Mànhình Computer Management (Trang 58)
Hình 4.2: S  đ  ho t đ ng c a h  th ng - Luận văn xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình
Hình 4.2 S đ ho t đ ng c a h th ng (Trang 73)
Hình  4.4: S  đ  tu n t  ch c n ng qu n lý sách - Luận văn xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình
nh 4.4: S đ tu n t ch c n ng qu n lý sách (Trang 76)
Hình  4.5: S  đ  tu n t  ch c n ng qu n lý ph n trong sách - Luận văn xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình
nh 4.5: S đ tu n t ch c n ng qu n lý ph n trong sách (Trang 77)
Hình  4.6: S  đ  tu n t  ch c n ng qu n lý ch ng trong sách - Luận văn xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình
nh 4.6: S đ tu n t ch c n ng qu n lý ch ng trong sách (Trang 78)
Hình  4.7 : S  đ  tu n t  ch c n ng qu n lý  m c  trong sách - Luận văn xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình
nh 4.7 : S đ tu n t ch c n ng qu n lý m c trong sách (Trang 79)
Hình  4.8: S  đ  tu n t  ch c n ng qu n lý l i - Luận văn xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình
nh 4.8: S đ tu n t ch c n ng qu n lý l i (Trang 80)
Hình  4.9: S  đ  tu n t  ch c n ng qu n lý thêm m c vào  l i - Luận văn xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình
nh 4.9: S đ tu n t ch c n ng qu n lý thêm m c vào l i (Trang 81)
Hình  4.10: S  đ  tu n t  ch c n ng qu n lý chi ti t l i - Luận văn xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình
nh 4.10: S đ tu n t ch c n ng qu n lý chi ti t l i (Trang 82)
Hình  4.11: S  đ  tu n t  ch c n ng tìm ki m trong Web Client - Luận văn xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình
nh 4.11: S đ tu n t ch c n ng tìm ki m trong Web Client (Trang 83)
Hình 4.15: Màn hình hi n th  trang chi ti t l i - Luận văn xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình
Hình 4.15 Màn hình hi n th trang chi ti t l i (Trang 86)
Hình 4.16: Màn hình qu n lý sách - Luận văn xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình
Hình 4.16 Màn hình qu n lý sách (Trang 87)
Hình 4.24: Màn hình c p nh t m c - Luận văn xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình
Hình 4.24 Màn hình c p nh t m c (Trang 92)
Hình 4.26: Màn hình qu n lý l i - Luận văn xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình
Hình 4.26 Màn hình qu n lý l i (Trang 94)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm