Служба WCF, выбрасывающая исключение NetDispatcherFaultException - PullRequest
0 голосов
/ 21 апреля 2011

У меня проблема с сервисом WCF для ASP.NET AJAX.Я написал один статический вызов, чтобы поддерживать состояние на стороне WCF и тестировать его на javaScript.Следующие шаги - то, что я делаю:

в $ (документ) .ready (),

  1. Проверьте объект "CurrentUser" в состоянии
  2. Если возвращаемое значение равно NULL, то получите пользователя с данным ID и поместите его в State.
  3. Перезагрузите страницу или переместите на другую страницу.Это делается для проверки перезагрузки страницы состояния или перехода на другую страницу.

Теперь симптом заключается в том, что я вызываю метод (GetFromState ()) для получения значения из состояния.Это работает в альтернативных циклах.Означает, что при первой загрузке страницы это работает, на второй странице - нет, а в третий раз - работает.

Исключение составляет:

Форматировщик выдал исключение, апри попытке десериализации сообщения: при попытке десериализации параметра ProjectDocs произошла ошибка: pStateKey.Сообщение InnerException было «Произошла ошибка десериализации объекта типа System.String.Токен ':' ожидался, но был найден ','. '.Пожалуйста, смотрите InnerException для более подробной информации. **

типа System.ServiceModel.Dispatcher.NetDispatcherFaultException .

Я использовал журналирование WCF, включив его в сети.Конфиг и получил сообщение, которое я передаю.Сообщение выглядит следующим образом:

<MessageLogTraceRecord>
<HttpRequest xmlns="http://schemas.microsoft.com/2004/06/ServiceModel/Management/MessageTrace">
<Method>POST</Method>
<QueryString></QueryString>
<WebHeaders>
<Cache-Control>no-cache</Cache-Control>
<Connection>Keep-Alive</Connection>
<Content-Length>73</Content-Length>
<Content-Type>application/json; charset=utf-8</Content-Type>
<Accept>*/*</Accept>
<Accept-Encoding>gzip, deflate</Accept-Encoding>
<Accept-Language>en-us</Accept-Language>
<Cookie>ASP.NET_SessionId=gg53gxmy3pkqrabtr0czvnsx</Cookie>
<Host>localhost:1496</Host>
<Referer>http://localhost:1496/Admin/RoleManagement.aspx</Referer>
<User-Agent>Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; BOIE9;ENIN)</User-Agent>
<x-requested-with>XMLHttpRequest</x-requested-with>
</WebHeaders>
</HttpRequest>
<root type="object" xmlns="">
<pStateKey type="string">0c354a4f-cdaa-08cd-8c86-c1e06bec6b8d</pStateKey>
<pKey type="string">CurrentUser</pKey>
</root>
</MessageLogTraceRecord>

Я использую следующий код javaScript:

 $(document).ready(function () {
        var stateKey = GetStateKey();

        ProjectDocs.StateActions.GetFromState(stateKey.trim(), 'CurrentUser', function (result, e) {
            if (result != null && result.Code != null && result.Code != '') {
                $get('<%=CurrentUser.ClientID %>').value = result;

            }
            else {//Redirect to login page
                //For time being
                var curUser = ProjectDocs.UserActions.GetUserDetails('31534974-c759-08cd-5e8b-8dd0045a6b25', function (result, e) {
                    $get('<%=CurrentUser.ClientID %>').value = result;
                    AddToState('CurrentUser', result);
                    alert(result.Code);

                }, function (result, e) { N_NotifyMessage('Unable to get user details.', result.get_message(), 2); });
            }
        }, function (result, e) {
            //Redirect ro login page

            N_NotifyMessage(GetStateKey(), result.get_message(), 2);
        });
    });  

Наконец ...Пожалуйста, помогите мне решить эту проблему .....

Заранее спасибо, Прадип Ямуджала

1 Ответ

0 голосов
/ 21 апреля 2011

похоже, что трассировка сообщения, которую вы поместили, предназначена для успешного вызова.У вас есть другой след для неудачного звонка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...