代码改变世界

Silverlight访问WCF服务时SoapHeader信息丢失

2011-04-16 11:53  Vincent.C  阅读(611)  评论(0编辑  收藏  举报

1. 为将ObservableCollection<Order> 初始化造成, 修改办法:

public void GetNoPagerAsync<TReturnType>(TMethodEnum methodEnum, EventHandler<ServiceAsyncCompletedEventArgs<TReturnType>> onCompletedCallBack, ObservableCollection<NCondition> whereCodition, ObservableCollection<NOrder> orderCondition, object userState)
        {
            //base.InvokeAsync(
            //    new BeginOperationDelegate((object[] inValues, System.AsyncCallback callback, object asyncState) => { return Channel.MethodBeginInvoke(ServiceMethodNames[methodEnum], inValues, callback, asyncState); }),
            //        new object[] { whereCodition, orderCondition },
            //        new EndOperationDelegate((System.IAsyncResult result) => { return new object[] { Channel.MethodEndInvoke<TReturnType>(ServiceMethodNames[methodEnum], result) }; }),
            //        new SendOrPostCallback((object state) => { if ((onCompletedCallBack != null)) { var e = state as InvokeAsyncCompletedEventArgs; onCompletedCallBack(this, new ServiceAsyncCompletedEventArgs<TReturnType>(e.Results, e.Error, e.Cancelled, e.UserState)); } }),
            //        userState);
            if (orderCondition == null) orderCondition = new ObservableCollection<NOrder>();
            AsyncMethod<TReturnType>(methodEnum, onCompletedCallBack, new object[] { whereCodition, orderCondition }, userState);
        }

2. 程序未完全编译项目, 也会造成此问题.