1 / 50

Networking in Silverlight

Networking in Silverlight. Group: F5 Nguyễn Mạnh Cường Đoàn Văn Phi Nguyễn Văn Tấn Hoàng Minh Thi. Các vấn đề nghiên cứu. Using LINQ to SQL in silverlight Using WCF in Silverlight Access WS in silverlight Isolated storage Host in IIS. LinQ- Language Integrated Query.

iman
Download Presentation

Networking in Silverlight

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Networking in Silverlight Group: F5 Nguyễn Mạnh Cường Đoàn Văn Phi Nguyễn Văn Tấn Hoàng Minh Thi

  2. Các vấn đề nghiên cứu • Using LINQ to SQL in silverlight • Using WCF in Silverlight • Access WS in silverlight • Isolated storage • Host in IIS

  3. LinQ- Language Integrated Query • Mục đích của LinQ. • Kiến trúc của LinQ. • LinQ làm việc như thế nào. • So sánh LinQ với các công nghệ liên quan. • Hiệu suất của LinQ trong lập trình.

  4. Nội dung • LinQ là gì? • LinQ Queries • LinQ Operators • LinQ Providers • Kiến trúc của LinQ

  5. LinQ là gì • LinQ = Language Integrated Query • LinQ làm việc với nhiều loại dữ liệu như: • CSDL quan hệ • XML • Object

  6. Truy vấn Objects, sử dụng vòng lặp và điều kiện foreach(Customer c in customers) if (c.Region == "USA") ... • Truy vấn CSDL, sử dụng T_SQL SELECT * FROM Customers WHERE Region='USA' • Truy vấn XML sử dụng XPath/XQuery //Customers/Customer[@Region='USA'] Trước khi có LinQ

  7. Khi có LinQ • Khi có LinQ chúng ta chỉ cần 1 câu truy vấn như sau: var usCustomer = from customer in customers where customer.Region==“USA” select customer;

  8. Ví dụ: using System; using System.Linq; namespace Demo01 { classProgram { staticvoid Main(string[] args) { string[] greetings = { "hello world", "hello LINQ", "hello Apress" }; var items = from s in greetings where s.EndsWith("LINQ") select s; foreach (var item in items) Console.WriteLine(item); Console.ReadLine(); } } }

  9. Cấu trúc của LinQ • Cấu trúc của LinQ gần giống với SQL fromitemNameinsrcExpr joinitemNameinsrcExpronkeyExprequalskeyExpr (intoitemName)? letitemName=selExpr wherepredExpr orderby (keyExpr(ascending | descending)?)* selectselExpr groupselExprbykeyExpr intoitemName query-body

  10. Các toán tử LINQ phân theo nhóm

  11. Truy vấn LinQ Có 2 cách viết truy vấn LinQ như sau: • Theo kiểu thông thường: • Lambda Expression:

  12. LinQ cung cấp những gì? • LinQ to Objects • LinQ to SQL • LinQ to XML • LinQ to DataSets • LinQ to Entities

  13. Kiến trúc của LinQ

  14. Các nguồn tham khảo: • http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx 101 LINQ Examples • http://msdn.com/linq LINQ Home • http://www.asp.net/learn/linq-videos LINQ Videos • http://chanmingman.spaces.live.com/blog/cns!FC20790B8D5B95F4!399.entry Sự khác nhau giữa LinQ và DataSets

  15. Using WCF in Silverlight

  16. Tạo một Project Web Application (File -> New ->Project -> Silverlight Application) .

  17. Thêm LINQ to SQL Classes

  18. Chọn Datasource

  19. Chuột phải vào Web Project chọn Add New, bên trong templates chọn Silverlight enabled WCF Service

  20. Một số điểm khác biệt so với WCF standard • Chỉ có 1 lớp Services1.cs • Chứa thuộc tính ServiceContract và • [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]

  21. Trong web.Config : • <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> • Mặc định của WCF sử dụng wsHttpBinding Tuy nhiên nó chỉ hỗ trợ basic binding, vì vậy bạn cần thay đổi binding trong web.config tương ứng như sau • <endpoint address="" binding="basicHttpBinding" contract="SQLData_Web.IService1">

  22. Access WS in silverlight

  23. Truy cập web service trong sliverlight • Truy cập Web Service • Cách tạo một Service trong Visual Studio 2008 • Demo chương trình

  24. Truy cập web service trong sliverlight • 2 cơ chế khác nhau cho service để tùy chỉnh quyền truy cập cross-domain: • Đặt tập tin clientaccesspolicy.xml ở gốc của domain nơi mà service được lưu trữ để thiết lập quyền truy cập của cross-domain tới service. • Đặt tập tin crossdomain.xml hợp lệ ở gốc của domain nơi service được lưu trữ. Tập tin phải được đánh dấu là public cho toàn domain

  25. Truy cập web service trong sliverlight • Sử dụng tập tin clientaccesspolicy.xml để cho phép truy cập cross-domain • Tạo service cho phép máy khách Silverlight truy cập • Tạo tập tin clientaccesspolicy.xml, cho phép truy cập vào các service

  26. Truy cập web service trong sliverlight • Lưu tập tin clientaccesspolicy.xml tới gốc của domain nơi service được lưu trữ • Ví dụ: • nếu service được lưu trữ tại http://fabrikam.com thì tập tin phải đặt tại http://fabrikam.com/clientaccesspolicy.xml.

  27. Truy cập web service trong sliverlight • Sử dụng tập tin crossdomain.xml để cho phép truy cập cross-domain • Tạo service cho phép Silverlight client truy cập • Tạo tập tin crossdomain.xml có những thiết lập dưới đây. Tập tin phải được cấu hình để cho phép truy cập vào service từ bất kỳ tên miền khác, hoặc nó không được nhận ra bởi Silverlight 2

  28. Truy cập web service trong sliverlight • Lưu tập tin crossdomain.xml vào gốc của domain là nơi mà các service được lưu trữ trên máy chủ. Ví dụ, nếu service được lưu trữ trên máy chủ • Tham khảo demo tại trang: • http://www.dotnetcurry.com/ShowArticle.aspx?ID=208

  29. Cách tạo một web service Bước 1. Tạo một ứng dụng Silverlight Application Project sử dụng Visual Studio 2008.

  30. Cách tạo một web service • Bước 2. Thêm một Web Service vào Web Site của bạn. Trong cửa sổ  Solution Explorer của bạn , click chuột phải lên nút  Web Site , chọn  Add-> New Item… • Có 3 mẫu  cung cấp các chức năng cho  Web Service: • Silverlight-enabled WCF Service. • WCF Service • Web Service.

  31. Cách tạo một web service Chọn “Web Service”  Thay đổi tên cho giống như “MyService.asmx” và click vào nút  “Add”

  32. Cách tạo một web service • Bước 3: Thêm một  Service Reference Rebuild lại  Solution của bạn (Ctrl+Shift+B). Nếu bạn chuyển sang bước kế tiếp mà không rebuild  bạn sẽ gặp hộp thoại sau:

  33. Cách tạo một web service • Trong cửa sổ solution explorer, click chuột phải lên nút References và chọn  “Add Service Reference…”. • Tiếp ngay sau sẽ xuất hiện hộp thoại là “Add Service Reference”. Click vào nút  “Discover” để tìm web service của bạn. • Thay đổi Namespace thành bất cứ gì bạn muốn cho reference này và click vào nút “OK”.

  34. Cách tạo một web service

  35. Cách tạo một web service • Vào lúc này , bạn đã thiết lập được web service của mình được tham khảo một cách thích đáng từ ứng dụng Silverlight  của bạn.

  36. Cách tạo một web service • Bước  4.  Thực hiện gọi từ ứng dụng Silverlight của bạn vào  web service của bạn. [WebMethod] public string HelloWorld() { return "Hello World"; }

  37. Cách tạo một web service • Khi thay đổi file WebService1.asmx.cs, load lại thì click chuột phải lên ServiceReference1 và chọn  “Update Service Reference”.

  38. Cách tạo một web service • Gọi ứng dụng Silverlight đến hàm HelloWorld(), đoạn code nằm trong MainPage.xaml.cs

  39. Isolated Storage

  40. Isolated Storage • Isolated Storage như một hệ thống file ảo để lưu trữ dữ liệu trong một thư mục ẩn trên máy tính của bạn • Nó chia dữ liệu vào làm 2 phân riêng biệt: • Phần thứ nhấtchứa các thông tin quản lý như dung lượng cho phép • phần thứ 2chứa dữ liệu thực sự Mỗi ứng dụng Silverlight được phân bố một vùng riêng trong hệ thống lưu trữ này với dung lượng lưu trữ mặc định là 1 MB. Để sử dụng IsolatedStorage bạn phải using System.IO.IsolatedStorage; System.IO;

  41. Isolated Storage Ưu điểm: Isolated Storage là một thay thế cho cookie, đặc biệt là nếu bạn đang làm việc với một tập lớn dữ liệu. Một số ví dụ về khả năng của Isolated Storage bao gồm undo lại một số thao tác của ứng dụng, hay giỏ hàng, các cài đặt về cửa sổ hay bất kỳ cài đặt nào mà bạn muốn truy cập vào lần nạp tiếp theo.

  42. Isolated Storage • Các vấn đề có thể phát sinh: • Người quản trị có thể đặt giới hạn đĩa trên mỗi người dùng • Isolated Storage được đặt trong một thư mục ẩn trong hệ thống • Không hoàn toàn an toàn và người dùng có thể thay đổi hoặc xóa các file • Tuy nhiên, nếu muốn người dùng không thể thay đổi các file, bạn có thể dùng các lớp mã hóa để mã lại các file này trước khi lưu. • Các máy tính có thể bị khóa bởi các chính sách bảo mật và các ứng dụng sẽ không thể lưu được vào IsolatedStorage.

  43. Host in IIS

  44. Host in IIS • Đầu tiên ta phải tạo một project Silverlight • Publish ra một thư mục

  45. Ví dụ là TestHost

  46. Sau đó ta phải tạo một virtual

  47. Alias. Ví dụ là Testhost

  48. Nhấn Next • Và trỏ đến thư mục publish ở trên

  49. Nhấn Next và chọn Read, Run script(such as ASP), Execute, Browse. • Finish

  50. Lưu ý • Nếu ta cài đặt IIS sau khi cài .Net Framework có thể bạn sẽ nhận được thông báo lỗi • Để giải quyết vấn đề này bạn phải chạy câu lệnh aspnet_regiis –i Trong cửa sổ command của vs 2008

More Related