2011-04-21 42 views
0

我正面臨ASP.NET AJAX的WCF服務問題。我寫了一個靜態的calss來維護WCF端的狀態,並從javaScript中測試相同的狀態。以下步驟是我正在做的事情;WCF服務拋出NetDispatcherFaultException

在$

(文件)。就緒(),

  1. 檢查在狀態「當前用戶」對象
  2. 如果返回值爲NULL,則獲得給定ID用戶,放入州。
  3. 重新加載頁面或移動其他頁面。這是爲了測試狀態duting頁面重新加載或將 移動到另一個頁面。

現在的症狀是,我調用一個方法(GetFromState())從狀態獲取值。這在替代週期中起作用。手段,第一次頁面加載它的工作,第二頁它不會和第三次它的工作。

例外是;

格式化程序嘗試反序列化消息時拋出一個異常:嘗試反序列化參數ProjectDocs:pStateKey時發生錯誤。 InnerException消息是'反序列化System.String類型的對象時發生錯誤。令牌':'是預期的,但找到','。'。請參閱的InnerException瞭解更多詳情。**

型System.ServiceModel.Dispatcher.NetDispatcherFaultException

我使用WCF登錄,在web.config中啓用它,並檢索我傳遞的消息。信息如下:

<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); 
     }); 
    }); 

最後......請幫我ressolve這個問題.....

由於提前, 普拉迪普Yamujala

回答

0

看來,如果你將這個消息跟蹤是一個成功的電話。你有另一個失敗的電話跟蹤

+0

這條消息是我發送到服務,這之後服務響應與例外。 – Pradeep 2011-04-21 02:42:25

相關問題