解决 .Net 5 无法连接 Oracle
从.Net3.1 升级到 .Net5 后发现在连接Oracle时出现异常:Resolving binaryformatter obsoletion errors
,通过查阅资料找到了此问题的微软官方说明Resolving binaryformatter obsoletion errors
。文中提到:从 .Net5.0 开始 BinaryFormatter.erialization
和BinaryFormatter
被禁用了。 由于 Oracle.ManagedDataAccess.Core 2.19.100
还未调整代码,导致不能正常连接数据库。
如果希望在ASP.NET5.0+
应用程序中继续使用BinaryFor
,则必须修改当前项目的.csproj文件,以重新启用BinaryFormat
功能。在<PropertyGroup>
节点中添加:
<EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization>
详细内容如下(后续可视 Oracle 对这个问题的处理情况,进行关闭此选项 )。
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization>
</PropertyGroup>
参考:
https://github.com/oracle/dotnet-db-samples
https://github.com/dotnet/aspnetcore/issues/27872
private static int Size = 1000;
[Benchmark]
public void Bag()
{
ConcurrentBag<int> bag = new();
for (int i = 0; i < Size; i++)
{
bag.Add(i);
}
}
[Benchmark]
public void Queue()
{
ConcurrentQueue<int> bag = new();
for (int i = 0; i < Size; i++)
{
bag.Enqueue(i);
}
}
作者:Sunlery
出处:https://cnblogs.com/sunlery
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接https://www.cnblogs.com/sunlery/p/dotNet-Oracle.html,如有问题或建议,请多多赐教,非常感谢。