有时无法从Silverlight进行RIA域服务/上下文调用

| 我有一个非常奇怪的问题:我正在使用RIA服务开发Silverlight业务应用程序。 我在服务器端有一些DomainServices,但其中一个存在问题,有时调用其中一种方法会失败(在SL客户端上,我收到\“ NotFound \”异常,并且请求没有事件不会到达服务器(我在domainservice的构造函数中添加了一个断点)! 是什么让事情变得更加奇怪: 如果从SL客户端的呼叫失败,则我启动Fiddler2,然后第二个(或任何连续的)呼叫工作正常!如果我关闭提琴手,它将再次变得不稳定。 如果我重命名了我想调用的方法(通过重构),也在SL客户端的上下文中调用了重命名的方法,那么每次我调用都成功! 这是我的怀疑方法:
[Invoke]
public void RegisterTrainingProgramCompletion(bool isCompleted, int result, string sportsManNote)
{
 //...
}
如果我将此方法重命名为\“ RegisterTpCompletion \”,那么它将起作用(令人难以置信)! DomainService标记有一些属性:
[EnableClientAccess()]
[RequiresAuthentication()]
public class NextTrainingProgramDomainService : DomainService
我设法以某种方式记录了服务器端,并从WCF堆栈中得到以下异常: 从网络接收到的XML存在问题。有关更多详细信息,请参见内部异常。在System.ServiceModel.Channels.HttpInput.DecodeBufferedMessage(ArraySegment`1 buffer,Stream inputStream)    在System.ServiceModel.Channels.HttpInput.ReadBufferedMessage(Stream inputStream)    在System.ServiceModel.Channels.HttpInput.ParseIncomingMessage(Exception& requestException)处    在System.ServiceModel.Channels.HttpChannelListener.HttpContextReceived(HttpRequestContext上下文,操作回调)    在System.ServiceModel.Activation.HostedHttpTransportManager.HttpContextReceived(HostedHttpRequestAsyncResult结果)    在System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest()    在System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest()    在System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequest(对象状态)    在System.ServiceModel.AspNetPartialTrustHelpers.PartialTrustInvoke(ContextCallback回调,对象状态)    在System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequestWithFlow(对象状态)    在System.Runtime.IOThreadScheduler.ScheduledOverlapped.IOCallback(UInt32错误代码,UInt32 numBytes,NativeOverlapped * nativeOverlapped)    在System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32错误,UInt32字节读取,NativeOverlapped * nativeOverlapped)    在System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode,UInt32 numBytes,NativeOverlapped * pOVERLAP) 因此,由于某些未知原因,clint(SL-app)无法正确刷新请求?我开始担心:((( 我的呼叫者(SL客户端)通过自定义表单身份验证进行身份验证。 我知道您可以说,按原样保留它,但是这使我发疯,我想知道问题出在哪里,所以我不再遇到问题。 谢谢! 再见 沙比     
已邀请:
我怀疑这是URL问题,大多数URL只能有几kbs的长度。现在我不知道大小,但是在RIA服务中,它使用URL将您的过滤器作为查询字符串发送。 方法的名称也很大,已达到URL的最大限制。即使使用全名,它也可以使用,但您的过滤器部分可能为空,但是如果添加更多过滤器,则会遇到错误。     

要回复问题请先登录注册