2012-04-04 23 views
5

byłem w pracy z przeniesieniem próbki z linku poniżej do Windows 8 Metro stylizowany aplikacjiWinRT i brakuje Web API modele Amazon dostępu API

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

wygląda wieloma funkcjami z modelu internetowej są usuwane (lub przeniesiony) w WinRT:

HttpUtility.UrlEncode 
HttpUtility.UrlDecode 
HMAC/HMACSHA256 

aby wymienić tylko kilka, zastanawiałem się, czy ktoś mógłby pomóc w znalezieniu alternatywy dla tych na WInRT? Spojrzałem w Internecie i jest bardzo mało wglądu.

+0

Znaleziono Uri.EscapeDataString jako alternatywa dla HttpUtility.UrlEncode - nie ma szczęścia z innymi słowami kluczowymi –

+0

Czy próbowałeś: http://msdn.microsoft.com/en-us/library/windows/apps/br230302.aspx# przelicz – jv42

+0

Zobacz i zaktualizuj ten wpis –

Odpowiedz

3

Ten kod źródłowy do kodu adresu URL jest tutaj i wygląda tak, jak Uri.EscapeDataString może być użyty do zakodowania.

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

skopiuj kod źródłowy skończy, zmienić funkcję GetChars do tego

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

musiałem użyć fragmentu kodu stąd właściwie hash zaszyfrowania String http://channel9.msdn.com/Forums/TechOff/Porting-to-WinRT/4df7586e1ef5400682eda00f0143b610

3

Użyj metody z klasy WebUtility zamiast:

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