PlatformNotSupportedException при выполнении общего запроса LINQ - PullRequest
6 голосов
/ 02 сентября 2011

Я получаю странное исключение на компьютере с XP, когда выполняю запрос LINQ.

{"The specified cryptographic algorithm is not supported on this platform."}

at System.Security.Cryptography.CapiNative.AcquireCsp(String keyContainer, String providerName, ProviderType providerType, CryptAcquireContextFlags flags, Boolean throwPlatformException)

Внутреннего исключения нет, и трассировка стека выше.

Я ожидал бы такого родаисключения, когда поставщики криптографии находятся в игре и т. д., но с LINQ я понятия не имею.Я должен признать, что я новичок в LINQ.

Вот несколько упрощенный LINQ Query в EF 4.1:

using (var c = new MyContext())
{
    var v = (from item in c.Items where (item.ID==someid) select item).FirstOrDefault();
    return v;
}

Любое понимание?

РЕДАКТИРОВАТЬ: Как уже отмечалось в разделе комментариев ниже, я использую .NET 4.0 с EF 4.1, строка подключения представляет собой обычную строку app.config без параметров crpto или других примененных параметров строки подключения.

1 Ответ

4 голосов
/ 02 сентября 2011

Я сильно подозреваю, что при попытке установить связь с базой данных используется система безопасности - проверьте строку подключения и любые имеющиеся у вас параметры в отношении шифрования самой строки подключения.

...