项目有asp.net服务器端,Silverlight客户端,中间使用“启用 Silverlight的WCF服务”进行通信。asp.net服务器端:
[OperationContract]
public List<Monitoring> GetMonitorDatasService(Monitoring.EnergyType energytype, KeyValuePair<Monitoring.Period, string> monitordate, KeyValuePair<Monitoring.MonitorType, string> monitortype, string meterusetype)
{
return GetMonitorDatas(energytype, energytype.ToString(), monitordate, monitortype, meterusetype);
}Silverlight客户端:
private void ChartsDataBind()
{
ChartsServiceClient.ChartsServiceClient serviceclient = new ChartsServiceClient.ChartsServiceClient();
serviceclient.ChartsServiceInitializeOneAsync(issubstation);
serviceclient.GetMonitorDatasServiceCompleted += new EventHandler<GetMonitorDatasServiceCompletedEventArgs>(serviceclient_GetMonitorDatasServiceCompleted);
serviceclient.GetMonitorDatasServiceAsync(Monitoring.EnergyType.EM, monitordate, monitortype, meterusetype);
}void serviceclient_GetMonitorDatasServiceCompleted(object sender, GetMonitorDatasServiceCompletedEventArgs e)
{
var datas = e.Result;
MessageBox.Show(datas.Count.ToString());
}问题一:现在有报错,可不可以在“Silverlight”客户端设置一个“断点”。从“Silverlight”客户端,单步调试(Debug),到服务器端(asp.net)站点,看整个的调用过程?
“Reference.cs”下:public System.Collections.ObjectModel.ObservableCollection<MyCharts.ChartsServiceClient.Monitoring> EndGetMonitorDatasService(System.IAsyncResult result) {
object[] _args = new object[0];
System.Collections.ObjectModel.ObservableCollection<MyCharts.ChartsServiceClient.Monitoring> _result = ((System.Collections.ObjectModel.ObservableCollection<MyCharts.ChartsServiceClient.Monitoring>)(base.EndInvoke("GetMonitorDatasService", _args, result)));这一句报错,错误信息如下;
格式化程序尝试对消息反序列化时引发异常: 尝试对参数 进行反序列化时出错: monitordate。InnerException 消息是““EndElement”命名空间“”中的“monitordate”并非所需元素。所需元素应为“key”。”。有关详细信息,请参见 InnerException。问题二:这是怎么回事呢?这个错误应该怎样调试???
return _result;
}
[OperationContract]
public List<Monitoring> GetMonitorDatasService(Monitoring.EnergyType energytype, KeyValuePair<Monitoring.Period, string> monitordate, KeyValuePair<Monitoring.MonitorType, string> monitortype, string meterusetype)
{
return GetMonitorDatas(energytype, energytype.ToString(), monitordate, monitortype, meterusetype);
}Silverlight客户端:
private void ChartsDataBind()
{
ChartsServiceClient.ChartsServiceClient serviceclient = new ChartsServiceClient.ChartsServiceClient();
serviceclient.ChartsServiceInitializeOneAsync(issubstation);
serviceclient.GetMonitorDatasServiceCompleted += new EventHandler<GetMonitorDatasServiceCompletedEventArgs>(serviceclient_GetMonitorDatasServiceCompleted);
serviceclient.GetMonitorDatasServiceAsync(Monitoring.EnergyType.EM, monitordate, monitortype, meterusetype);
}void serviceclient_GetMonitorDatasServiceCompleted(object sender, GetMonitorDatasServiceCompletedEventArgs e)
{
var datas = e.Result;
MessageBox.Show(datas.Count.ToString());
}问题一:现在有报错,可不可以在“Silverlight”客户端设置一个“断点”。从“Silverlight”客户端,单步调试(Debug),到服务器端(asp.net)站点,看整个的调用过程?
“Reference.cs”下:public System.Collections.ObjectModel.ObservableCollection<MyCharts.ChartsServiceClient.Monitoring> EndGetMonitorDatasService(System.IAsyncResult result) {
object[] _args = new object[0];
System.Collections.ObjectModel.ObservableCollection<MyCharts.ChartsServiceClient.Monitoring> _result = ((System.Collections.ObjectModel.ObservableCollection<MyCharts.ChartsServiceClient.Monitoring>)(base.EndInvoke("GetMonitorDatasService", _args, result)));这一句报错,错误信息如下;
格式化程序尝试对消息反序列化时引发异常: 尝试对参数 进行反序列化时出错: monitordate。InnerException 消息是““EndElement”命名空间“”中的“monitordate”并非所需元素。所需元素应为“key”。”。有关详细信息,请参见 InnerException。问题二:这是怎么回事呢?这个错误应该怎样调试???
return _result;
}
而在“asp.net 服务器端”,为“提供服务的方法”设断点后,如下图:
该断点根本就没有执行,直接报出了如上的错误。请问到底是怎么回事?应该怎样调试这个错误呢???
怎样“attach”服务进程,能详细点吗?
是“asp.net”和“silverlight”的异步调试