我创建了一个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。&lt;&gt; c _DisplayClass38。&lt; InvokeOperation&gt; 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用户拥有完全权限,返回的错误似乎不是权限问题。
欢迎所有想法。我正在与这个问题碰壁。
答案 0 :(得分:0)
此问题原来是服务器上的权限问题。正在将文件写入系统。
RIA服务正在吞下这个错误并代之以一般的错误。我尝试了一下catch方法并将错误记录到数据库中。然后我就能发现真正的问题。