networking in silverlight
Download
Skip this Video
Download Presentation
Networking in Silverlight

Loading in 2 Seconds...

play fullscreen
1 / 50

Networking in Silverlight - PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Networking in Silverlight' - iman


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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
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
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.
n i dung
Nội dung
  • LinQ là gì?
  • LinQ Queries
  • LinQ Operators
  • LinQ Providers
  • Kiến trúc của LinQ
linq l g
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
tr c khi c linq

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
khi c linq
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;

slide8
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();

}

}

}

c u tr c c a linq
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

truy v n linq
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:
linq cung c p nh ng g
LinQ cung cấp những gì?
  • LinQ to Objects
  • LinQ to SQL
  • LinQ to XML
  • LinQ to DataSets
  • LinQ to Entities
c c ngu n tham kh o
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
slide19
Chuột phải vào Web Project chọn Add New, bên trong templates chọn Silverlight enabled WCF Service
m t s i m kh c bi t so v i wcf standard
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)]
slide21
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">
truy c p web service trong sliverlight
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
truy c p web service trong sliverlight1
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
truy c p web service trong sliverlight2
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
truy c p web service trong sliverlight3
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.
truy c p web service trong sliverlight4
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
truy c p web service trong sliverlight5
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
c ch t o m t web service
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.

c ch t o m t web service1
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.
c ch t o m t web service2
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”

c ch t o m t web service3
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:

c ch t o m t web service4
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”.
c ch t o m t web service6
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.
c ch t o m t web service7
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";

}

c ch t o m t web service8
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”.
c ch t o m t web service9
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
isolated storage1
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;

isolated storage2
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.

isolated storage3
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.
host in iis1
Host in IIS
  • Đầu tiên ta phải tạo một project Silverlight
  • Publish ra một thư mục
slide48
Nhấn Next
  • Và trỏ đến thư mục publish ở trên
slide50
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

ad