示例#1
0
 private void OnCompleted(EventResponseErrorArgs error)
 {
     if (System.Threading.Interlocked.CompareExchange(ref mCompletedStatus, 1, 0) == 0)
     {
         Time = TimeWatch.GetElapsedMilliseconds() - mStartTime;
         mClientAgent.Client.ClientError = null;
         mClientAgent.Client.DataReceive = null;
         Server.Push(mClientAgent);
         //System.Threading.Interlocked.Decrement(ref RequestCount);
         //mHistoryRequests.Remove(mRequestID, out RequestAgent value);
         try
         {
             UrlRoute.FilterExecuted(this.Request, this.Response, this.Server, this.Code, this.Time);
             Completed?.Invoke(this);
         }
         catch (Exception e_)
         {
             if (Request.Server.EnableLog(BeetleX.EventArgs.LogType.Error))
             {
                 Request.Server.Log(BeetleX.EventArgs.LogType.Error, $"gateway request {Server.Host}:{Server.Port} process completed event error {e_.Message}@{e_.StackTrace}");
             }
         }
         finally
         {
             Request.ClearStream();
             if (error != null)
             {
                 Server.Gateway.OnResponseError(error);
             }
             else
             {
                 Request.Recovery();
             }
         }
     }
 }
示例#2
0
文件: Router.cs 项目: bberak/Appy
        protected virtual void LoadUrlRoutes(Assembly assembly)
        {
            foreach (var method in assembly.FindMethodsWithAttribute<UrlAttribute>())
            {
                UrlRoute route = new UrlRoute { Method = method };

                foreach (var attr in method.GetAttributes<UrlAttribute>())
                {
                    route.Attributes.Add(attr);
                }

                UrlRoutes.Add(route);
            }
        }
示例#3
0
 public FormTag(TModel model)
     : base(UrlRoute.For(model))
 {
 }
示例#4
0
 public FormTag()
     : base(UrlRoute.For <TModel>())
 {
 }
示例#5
0
 public string UrlFor <TModel>(TModel model)
 {
     return(UrlRoute.For(model));
 }
示例#6
0
 public string UrlFor <TModel>()
 {
     return(UrlRoute.For <TModel>());
 }
示例#7
0
 public static string For <TModel, TRouteModel>(this UrlHelpers <TModel> helper, TRouteModel routeModel)
 {
     return(UrlRoute.For(routeModel));
 }