2013-05-18 8 views
5

używam następującego kodu, aby uwiarygodnić użytkownika przy użyciu podstawowego dostawcy uwierzytelniania ServiceStack w mojej aplikacji asp.net i odbiorze wyjątek dotyczący serwicy. Proszę odpowiedzieć, jeśli ktoś rozwiązał ten problem. Dziękuję.Stos usług: definicje typów powinny rozpoczynać się od '{', oczekującego typu zszeregowanego "AuthResponse", otrzymanego ciągu zaczynającego się od

Używam następujący kod w mojej aplikacji asp.net:

<asp:Button ID="btnAuth" runat="server" OnClick="btnAuth_Click" Text="Authenticate"/> 

ja już otrzymywać wyjątek od metody clien.Post w kod związany pliku.

protected void btnAuth_Click(object sender, EventArgs e) 
     { 
      try 
      {     
       var baseUrl = Request.Url.GetLeftPart(UriPartial.Authority) + "/api"; 
       var client = new JsonServiceClient(baseUrl); 
       var authResponse = client.Post<AuthResponse>(new Auth { UserName = "admin", Password = "12345" }); 
       if (authResponse.ResponseStatus.ErrorCode == null) 
       { 
        //Do Something here 
       } 
      } 
      catch (WebServiceException ex) 
      { 
       throw ex; 
      } 
     } 

followin jest Exeception Szczegóły której jestem już otrzymywać na metody clien.Post:

[SerializationException: Type definitions should start with a '{', expecting serialized type 'AuthResponse', got string starting with: 
+0

Spójrz na zaakceptowaną odpowiedź na ten post: http://stackoverflow.com/questions/12064166/how-to-use-servicestack-authentication-orrectly-in-asp-net-mvc-controller Miej nadzieję, że pomaga . –

+0

@DavidTansey, jak to się ma do problemu? Występuje ten sam błąd i nie współpracuję nawet z żadną aplikacją internetową. Problem polega na serializacji obiektów nie dotyczących uwierzytelniania. –

+0

Jak to pytanie dotyczy MVC? Czy możesz poprawić te tagi, jeśli tak nie jest? Dziękuję – Javier

Odpowiedz

1

serializacji wyjątkiem, że czyta "spodziewa zserializowaną typu 'X', ale ciąg rozpoczynający się od:" To znaczy, że serializer próbuje utworzyć obiekt z pustego łańcucha zamiast prawidłowego łańcucha sformatowanego w json ("{Class: {Property: {Sub: value}}}").

W tym przypadku najprawdopodobniej przyczyną jest serwer o numerze baseUrl, który nie zwraca odpowiedzi (interpretowanej jako pusty ciąg znaków) do żądania POST. Źle skonfigurowany adres URL lub wyjątek po stronie serwera?

Powiązane problemy