尝试访问RIA Services端点时在Silverlight中出错

时间:2011-06-02 14:49:05

标签: silverlight-4.0 wcf-ria-services

我创建了一个Ria服务端点。 Silverlight将数据传递到RIA服务。然后,端点将此数据写入/更新到文件系统。我们遇到以下异常:

  

System.ServiceModel.DomainServices.Client.DomainOperationException:   调用操作   'ModifyLogiDashletXmlFile'失败。   类型异常   'System.ServiceModel.DomainServices.Client.DomainOperationException'   被扔了。在   Phoenix.UI.SL.Infrastructure.Services.LogiReportService<> C_ DisplayClass8< ModifyLogiDashletXmlFile&GT,B _7(的invokeOperation   操作)   System.ServiceModel.DomainServices.Client.InvokeOperation。<> c_ DisplayClass4 1.<Create>b__0(InvokeOperation 1 arg)at   System.ServiceModel.DomainServices.Client.InvokeOperation`1.InvokeCompleteAction()   在   System.ServiceModel.DomainServices.Client.OperationBase.Complete(例外   错误)   System.ServiceModel.DomainServices.Client.InvokeOperation.Complete(例外   错误)   System.ServiceModel.DomainServices.Client.DomainContext.CompleteInvoke(IAsyncResult的   asyncResult)at   System.ServiceModel.DomainServices.Client.DomainContext。<> c _DisplayClass38。< InvokeOperation> b__34(Object)

班上的属性:

[EnableClientAccess(RequiresSecureEndpoint = true)]
    [LinqToEntitiesDomainServiceDescriptionProvider(typeof(PhoenixEntities))] // IMPORTANT: Must have this because we are returning/passing EF Entities from Phoenix Context
    [RequiresAuthentication]
    public class LogiReportService : DomainService
    {
...

}

输入法:

[Invoke]
public void ModifyLogiDashletXmlFile(IEnumerable<ParameterNameValuePair> paramNameValuePairs, Guid clientId, string dashletInstanceId)
{

    // Validate Client is has a valid relationship to the User (i.e. no disabled)
    if (this.PhoenixUser.MembershipClientIds.Contains(clientId))
    {
       ModifyLogiXmlFile(PhoenixUser.UserId, clientId.ToString(), dashletInstanceId, paramNameValuePairs);
    }
}

令人费解的是其他终端工作正常。此端点与另一端点之间的区别在于,该文件从文件系统中读取和读取文件。 app-domain用户拥有完全权限,返回的错误似乎不是权限问题。

欢迎所有想法。我正在与这个问题碰壁。

1 个答案:

答案 0 :(得分:0)

此问题原来是服务器上的权限问题。正在将文件写入系统。

RIA服务正在吞下这个错误并代之以一般的错误。我尝试了一下catch方法并将错误记录到数据库中。然后我就能发现真正的问题。