Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript WCF服务引发NetDispatcherFaultException_Javascript_Wcf - Fatal编程技术网

Javascript WCF服务引发NetDispatcherFaultException

Javascript WCF服务引发NetDispatcherFaultException,javascript,wcf,Javascript,Wcf,我面临一个关于ASP.NET AJAX的WCF服务的问题。我已经编写了一个静态CALS来维护WCF端的状态,并通过javaScript对其进行了测试。以下步骤是我正在做的 在$(document).ready()中 检查状态为的“CurrentUser”对象 如果返回值为NULL,则获取具有给定ID的用户并将其置于状态 重新加载页面或移动到其他页面。这是为了测试页面重新加载或移动的状态 转到另一页 现在的症状是,我正在调用一个方法(GetFromState())从状态中获取一个值。这在交替循环中

我面临一个关于ASP.NET AJAX的WCF服务的问题。我已经编写了一个静态CALS来维护WCF端的状态,并通过javaScript对其进行了测试。以下步骤是我正在做的

在$(document).ready()中

  • 检查状态为的“CurrentUser”对象
  • 如果返回值为NULL,则获取具有给定ID的用户并将其置于状态
  • 重新加载页面或移动到其他页面。这是为了测试页面重新加载或移动的状态 转到另一页
  • 现在的症状是,我正在调用一个方法(GetFromState())从状态中获取一个值。这在交替循环中起作用。这意味着,第一次页面加载可以工作,第二次页面加载不能工作,第三次页面加载可以工作

    例外情况是

    格式化程序在尝试反序列化消息时引发异常:尝试反序列化参数ProjectDocs:pStateKey时出错。InnerException消息为“反序列化System.String类型的对象时出错。”。应为标记“:”,但找到了“,”。有关更多详细信息,请参阅InnerException**

    类型为System.ServiceModel.Dispatcher.NetDispatcherFaultException

    我通过在web.config中启用WCF登录来使用它,并检索了我正在传递的消息。信息如下:

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

    
    邮递
    无缓存
    活命
    73
    应用程序/json;字符集=utf-8
    */*
    gzip,放气
    美国英语
    ASP.NET_SessionId=gg53gxmy3pkqrabtr0czvnsx
    本地主机:1496
    http://localhost:1496/Admin/RoleManagement.aspx
    Mozilla/4.0(兼容;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)
    XMLHttpRequest
    0c354a4f-cdaa-08cd-8c86-c1e06bec6b8d
    当前用户
    
    我使用的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);
            });
        });  
    
    $(文档).ready(函数(){
    var stateKey=GetStateKey();
    ProjectDocs.StateActions.GetFromState(stateKey.trim(),'CurrentUser',函数(结果,e){
    if(result!=null&&result.Code!=null&&result.Code!=''){
    $get(“”).value=结果;
    }
    else{//重定向到登录页面
    //暂时
    var curUser=ProjectDocs.UserActions.GetUserDetails('31534974-c759-08cd-5e8b-8dd0045a6b25',函数(结果,e){
    $get(“”).value=结果;
    AddToState('CurrentUser',结果);
    警报(结果代码);
    },函数(result,e){N_NotifyMessage('无法获取用户详细信息',result.get_message(),2);});
    }
    },函数(结果,e){
    //重定向ro登录页面
    N_NotifyMessage(GetStateKey(),result.get_message(),2);
    });
    });  
    
    最后。。。请帮我解决这个问题

    提前感谢,,
    Pradeep Yamujala

    看起来您输入的消息跟踪是为了成功呼叫。您是否有另一个失败呼叫的跟踪

    此消息是我发送给服务的消息,在此之后,服务将返回异常。