2012-04-04 19 views
5

Tôi đã làm việc với porting mẫu từ liên kết dưới đây để một ứng dụng Windows 8 Metro theo kiểuWinRT và thiếu Web API mô hình cho Amazon truy cập API

http://aws.amazon.com/code/Product-Advertising-API/2480

Hình như nhiều tính năng từ mô hình web được loại bỏ (hoặc di chuyển) trong WinRT:

HttpUtility.UrlEncode 
HttpUtility.UrlDecode 
HMAC/HMACSHA256 

đến tên một vài, tôi đã tự hỏi liệu có ai có thể giúp tìm kiếm giải pháp thay thế cho những điều này trên WInRT không? Tôi đã xem trực tuyến và có rất ít thông tin chi tiết.

+0

Tìm thấy Uri.EscapeDataString như là một thay thế cho HttpUtility.UrlEncode - không có nhiều may mắn với các từ khóa khác –

+0

Bạn đã thử: http://msdn.microsoft.com/en-us/library/windows/apps/br230302.aspx# chuyển đổi – jv42

+0

Sẽ xem và cập nhật bài đăng này –

Trả lời

3

Có mã nguồn cho URLDecode tại đây và có vẻ như Uri.EscapeDataString có thể được sử dụng cho Mã hóa.

http://www.koders.com/csharp/fid1A50096D8FA38302680B0EEDAC5B1CE1AEA855D0.aspx?s=%22Lawrence+Pit%22

sao chép mã nguồn trên, thay đổi GetChars chức năng này

static char [] GetChars (MemoryStream b, Encoding e) 
    { 
     return e.GetChars (b.ToArray(), 0, (int) b.Length); 
    } 

Tôi phải sử dụng đoạn mã từ đây đến đúng băm mã hóa chuỗi http://channel9.msdn.com/Forums/TechOff/Porting-to-WinRT/4df7586e1ef5400682eda00f0143b610

3

Sử dụng các phương thức từ lớp WebUtility thay thế:

System.Net.WebUtility.UrlEncode(string); 
System.Net.WebUtility.UrlDecode(string);