DotNetOpenAuthをMono2.10と組み合わせて使用しています。context.Application.Unlock()が呼び出されると、最初からロックが取得されなかったことを示す例外がスローされます。以下のようにコードを変更しました。
私の質問は、コードは同じ目的を果たしますか、そしてApacheの下のmonoはこの方法でロックをサポートしますか?
オリジナル
context.Application.Lock();
try
{
if ((store = (IRelyingPartyApplicationStore)context.Application[ApplicationStoreKey]) == null)
{
context.Application[ApplicationStoreKey] = store = new StandardRelyingPartyApplicationStore();
}
}
finally
{
context.Application.UnLock();
}
私の変更
lock (app)
{
try
{
if ((store = (IRelyingPartyApplicationStore)context.Application[ApplicationStoreKey]) == null)
{
context.Application[ApplicationStoreKey] = store = new StandardRelyingPartyApplicationStore();
}
}
finally
{
//context.Application.UnLock();
}
}