本文整理汇总了C#中System.Web.HttpApplication.AddOnPostAcquireRequestStateAsync方法的典型用法代码示例。如果您正苦于以下问题:C# HttpApplication.AddOnPostAcquireRequestStateAsync方法的具体用法?C# HttpApplication.AddOnPostAcquireRequestStateAsync怎么用?C# HttpApplication.AddOnPostAcquireRequestStateAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Web.HttpApplication
的用法示例。
在下文中一共展示了HttpApplication.AddOnPostAcquireRequestStateAsync方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Initialize
public void Initialize(HttpApplication application)
{
for (IntegratedPipelineBlueprintStage stage = _blueprint.FirstStage; stage != null; stage = stage.NextStage)
{
var segment = new IntegratedPipelineContextStage(this, stage);
switch (stage.Name)
{
case Constants.StageAuthenticate:
application.AddOnAuthenticateRequestAsync(segment.BeginEvent, segment.EndEvent);
break;
case Constants.StagePostAuthenticate:
application.AddOnPostAuthenticateRequestAsync(segment.BeginEvent, segment.EndEvent);
break;
case Constants.StageAuthorize:
application.AddOnAuthorizeRequestAsync(segment.BeginEvent, segment.EndEvent);
break;
case Constants.StagePostAuthorize:
application.AddOnPostAuthorizeRequestAsync(segment.BeginEvent, segment.EndEvent);
break;
case Constants.StageResolveCache:
application.AddOnResolveRequestCacheAsync(segment.BeginEvent, segment.EndEvent);
break;
case Constants.StagePostResolveCache:
application.AddOnPostResolveRequestCacheAsync(segment.BeginEvent, segment.EndEvent);
break;
case Constants.StageMapHandler:
application.AddOnMapRequestHandlerAsync(segment.BeginEvent, segment.EndEvent);
break;
case Constants.StagePostMapHandler:
application.AddOnPostMapRequestHandlerAsync(segment.BeginEvent, segment.EndEvent);
break;
case Constants.StageAcquireState:
application.AddOnAcquireRequestStateAsync(segment.BeginEvent, segment.EndEvent);
break;
case Constants.StagePostAcquireState:
application.AddOnPostAcquireRequestStateAsync(segment.BeginEvent, segment.EndEvent);
break;
case Constants.StagePreHandlerExecute:
application.AddOnPreRequestHandlerExecuteAsync(segment.BeginEvent, segment.EndEvent);
break;
default:
throw new NotSupportedException(
string.Format(CultureInfo.InvariantCulture, Resources.Exception_UnsupportedPipelineStage, stage.Name));
}
}
// application.PreSendRequestHeaders += PreSendRequestHeaders; // Null refs for async un-buffered requests with bodies.
application.AddOnEndRequestAsync(BeginFinalWork, EndFinalWork);
}
示例2: Events_Deny_Unrestricted
public void Events_Deny_Unrestricted ()
{
HttpApplication app = new HttpApplication ();
app.Disposed += new EventHandler (Handler);
app.Error += new EventHandler (Handler);
app.PreSendRequestContent += new EventHandler (Handler);
app.PreSendRequestHeaders += new EventHandler (Handler);
app.AcquireRequestState += new EventHandler (Handler);
app.AuthenticateRequest += new EventHandler (Handler);
app.AuthorizeRequest += new EventHandler (Handler);
app.BeginRequest += new EventHandler (Handler);
app.EndRequest += new EventHandler (Handler);
app.PostRequestHandlerExecute += new EventHandler (Handler);
app.PreRequestHandlerExecute += new EventHandler (Handler);
app.ReleaseRequestState += new EventHandler (Handler);
app.ResolveRequestCache += new EventHandler (Handler);
app.UpdateRequestCache += new EventHandler (Handler);
app.AddOnAcquireRequestStateAsync (null, null);
app.AddOnAuthenticateRequestAsync (null, null);
app.AddOnAuthorizeRequestAsync (null, null);
app.AddOnBeginRequestAsync (null, null);
app.AddOnEndRequestAsync (null, null);
app.AddOnPostRequestHandlerExecuteAsync (null, null);
app.AddOnPreRequestHandlerExecuteAsync (null, null);
app.AddOnReleaseRequestStateAsync (null, null);
app.AddOnResolveRequestCacheAsync (null, null);
app.AddOnUpdateRequestCacheAsync (null, null);
app.Disposed -= new EventHandler (Handler);
app.Error -= new EventHandler (Handler);
app.PreSendRequestContent -= new EventHandler (Handler);
app.PreSendRequestHeaders -= new EventHandler (Handler);
app.AcquireRequestState -= new EventHandler (Handler);
app.AuthenticateRequest -= new EventHandler (Handler);
app.AuthorizeRequest -= new EventHandler (Handler);
app.BeginRequest -= new EventHandler (Handler);
app.EndRequest -= new EventHandler (Handler);
app.PostRequestHandlerExecute -= new EventHandler (Handler);
app.PreRequestHandlerExecute -= new EventHandler (Handler);
app.ReleaseRequestState -= new EventHandler (Handler);
app.ResolveRequestCache -= new EventHandler (Handler);
app.UpdateRequestCache -= new EventHandler (Handler);
#if NET_2_0
app.PostAuthenticateRequest += new EventHandler (Handler);
app.PostAuthorizeRequest += new EventHandler (Handler);
app.PostResolveRequestCache += new EventHandler (Handler);
app.PostMapRequestHandler += new EventHandler (Handler);
app.PostAcquireRequestState += new EventHandler (Handler);
app.PostReleaseRequestState += new EventHandler (Handler);
app.PostUpdateRequestCache += new EventHandler (Handler);
app.AddOnPostAuthenticateRequestAsync (null, null);
app.AddOnPostAuthenticateRequestAsync (null, null, null);
app.AddOnPostAuthorizeRequestAsync (null, null);
app.AddOnPostAuthorizeRequestAsync (null, null, null);
app.AddOnPostResolveRequestCacheAsync (null, null);
app.AddOnPostResolveRequestCacheAsync (null, null, null);
app.AddOnPostMapRequestHandlerAsync (null, null);
app.AddOnPostMapRequestHandlerAsync (null, null, null);
app.AddOnPostAcquireRequestStateAsync (null, null);
app.AddOnPostAcquireRequestStateAsync (null, null, null);
app.AddOnPostReleaseRequestStateAsync (null, null);
app.AddOnPostReleaseRequestStateAsync (null, null, null);
app.AddOnPostUpdateRequestCacheAsync (null, null);
app.AddOnPostUpdateRequestCacheAsync (null, null, null);
app.AddOnAcquireRequestStateAsync (null, null, null);
app.AddOnAuthenticateRequestAsync (null, null, null);
app.AddOnAuthorizeRequestAsync (null, null, null);
app.AddOnBeginRequestAsync (null, null, null);
app.AddOnEndRequestAsync (null, null, null);
app.AddOnPostRequestHandlerExecuteAsync (null, null, null);
app.AddOnPreRequestHandlerExecuteAsync (null, null, null);
app.AddOnReleaseRequestStateAsync (null, null, null);
app.AddOnResolveRequestCacheAsync (null, null, null);
app.AddOnUpdateRequestCacheAsync (null, null, null);
app.PostAuthenticateRequest -= new EventHandler (Handler);
app.PostAuthorizeRequest -= new EventHandler (Handler);
app.PostResolveRequestCache -= new EventHandler (Handler);
app.PostMapRequestHandler -= new EventHandler (Handler);
app.PostAcquireRequestState -= new EventHandler (Handler);
app.PostReleaseRequestState -= new EventHandler (Handler);
app.PostUpdateRequestCache -= new EventHandler (Handler);
#endif
}
示例3: Init
public void Init(HttpApplication app)
{
app.AddOnPostAcquireRequestStateAsync((s, e, cb, state) =>
{
HttpContext context = app.Context;
var tar = new TypedAsyncResult<Identity>(cb, state);
if (context.Session == null || !context.Request.Url.AbsolutePath.Contains("/Connect"))
{
tar.Complete(true);
return tar;
}
var util = new OAuthContext(AppId, AppSecret)
{
Culture = CultureInfo.CurrentCulture,
ExProcessor = ex => Debug.Write(ex),
};
util.SessionStorage = new AspNetSessionStore(context, util);
util.BeginAuthenticateRequest(context, tar.AsSafe(ar =>
{
util.EndAuthenticateRequest(ar);
tar.Complete(new Identity(util), false);
}), null);
return tar;
},
ar =>
{
var ident = TypedAsyncResult<Identity>.End(ar, null);
if (ident == null)
return;
HttpContext context = app.Context;
if (!ident.IsAuthenticated)
{
//var @params = new Dictionary<string, string> { { "scope", "user_birthday" } };
context.Response.Redirect(ident.AuthContext.GetLoginUrl(context.Request.Url, new LoginParams { ReqPerms = "user_birthday" }), false);
context.ApplicationInstance.CompleteRequest();
return;
}
context.User = new GenericPrincipal(ident, null);
});
}