我工作的基础上使用OAuth实现http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/通过Taiseer Joudeh并希望添加Microsoft Live支持.
对于Google和Facebook,VerifyExternalAccessToken负责检查所获取令牌的有效性,如https://developers.google.com/accounts/docs/OAuth2UserAgent#validatetoken所述
我可能错过了一个简单的信息,但我找不到任何Live等效的验证...
我最近写了以下代码:
Task<T> ExecAsync<T>( string connectionString, SqlCommand cmd, Func<SqlCommand, T> resultBuilder, CancellationToken cancellationToken = default(CancellationToken) )
{
var tcs = new TaskCompletionSource<T>();
SqlConnectionProvider p;
try
{
p = GetProvider( connectionString );
Task<IDisposable> openTask = p.AcquireConnectionAsync( cmd, cancellationToken );
openTask
.ContinueWith( open =>
{
if( open.IsFaulted ) tcs.SetException( open.Exception.InnerExceptions );
else if( open.IsCanceled ) tcs.SetCanceled();
else
{
var execTask = cmd.ExecuteNonQueryAsync( cancellationToken );
execTask.ContinueWith( exec =>
{
if( exec.IsFaulted ) tcs.SetException( exec.Exception.InnerExceptions );
else if( exec.IsCanceled ) tcs.SetCanceled();
else
{
try
{ …Run Code Online (Sandbox Code Playgroud) 我知道ctor,cctor物业/索引前缀:get_,set_,事件管理前缀:add_,remove_.我看过raise_一次或两次前缀(不记得在哪里).
是否存在.Net级别的确定列表(ECMA规范)?如果是的话在哪里?
它是一个"开放列表",以便任何(新)语言可以为其(未来)需求定义它们吗?
这里提出的问题与这里的问题相同,旨在为其创建一个明确的解决方案。最准确的答案是 Stephen Toub 本人在本期中提出的,正是关于这个问题的。“推荐代码”如下:
public static ValueTask AsValueTask<T>(this ValueTask<T> valueTask)
{
if (valueTask.IsCompletedSuccessfully)
{
valueTask.GetResult();
return default;
}
return new ValueTask(valueTask.AsTask());
}
Run Code Online (Sandbox Code Playgroud)
这个答案不是最新的 - ValueTask 不公开 GetResult() (只有 Result 属性) - 问题是:
.GetAwaiter()上面缺少的调用吗?var fake = valueTask.Result;?总是?(我担心死代码消除。)public static ValueTask AsNonGenericValueTask<T>( in this ValueTask<T> valueTask )
{
return valueTask.IsCompletedSuccessfully ? default : new ValueTask( valueTask.AsTask() );
}
Run Code Online (Sandbox Code Playgroud)