コード例 #1
0
ファイル: ServerPortal.cs プロジェクト: hardCTE/Rafy
 /// <summary>
 /// Get an existing business object.
 /// </summary>
 /// <param name="request">The request parameter object.</param>
 public WcfResponse Fetch(FetchRequest request)
 {
     var portal = new DataPortalFacade();
     object result;
     try
     {
         result = portal.Fetch(request.ObjectType, request.Criteria, request.Context);
     }
     catch (Exception ex)
     {
         result = ex;
     }
     return new WcfResponse { Result = result };
 }
コード例 #2
0
ファイル: ClientProxy.cs プロジェクト: 569550384/Rafy
 /// <summary>
 /// Called by <see cref="DataPortal" /> to load an
 /// existing business object.
 /// </summary>
 /// <param name="objectType">Type of business object to create.</param>
 /// <param name="criteria">Criteria object describing business object.</param>
 /// <param name="context"><see cref="DataPortalContext" /> object passed to the server.</param>
 /// <returns></returns>
 public DataPortalResult Fetch(Type objectType, object criteria, DataPortalContext context)
 {
     var cf = GetChannelFactory();
     var proxy = cf.CreateChannel();
     try
     {
         var request = new FetchRequest
         {
             ObjectType = objectType,
             Criteria = criteria,
             Context = context,
         };
         var response = proxy.Fetch(request);
         if (cf != null) cf.Close();
         return ReturnResult(response);
     }
     catch
     {
         cf.Abort();
         throw;
     }
 }