我正面临ASP.NET AJAX的WCF服务问题。我写了一个静态的calss来维护WCF端的状态,并从javaScript中测试相同的状态。以下步骤是我正在做的事情;WCF服务抛出NetDispatcherFaultException
在$(文件)。就绪(),
- 检查在状态“当前用户”对象
- 如果返回值为NULL,则获得给定ID用户,放入州。
- 重新加载页面或移动其他页面。这是为了测试状态duting页面重新加载或将 移动到另一个页面。
现在的症状是,我调用一个方法(GetFromState())从状态获取值。这在替代周期中起作用。手段,第一次页面加载它的工作,第二页它不会和第三次它的工作。
例外是;
型System.ServiceModel.Dispatcher.NetDispatcherFaultException的格式化程序尝试反序列化消息时抛出一个异常:尝试反序列化参数ProjectDocs:pStateKey时发生错误。 InnerException消息是'反序列化System.String类型的对象时发生错误。令牌':'是预期的,但找到','。'。请参阅的InnerException了解更多详情。**
。
我使用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
这条消息是我发送到服务,这之后服务响应与例外。 – Pradeep 2011-04-21 02:42:25