我正在寻找帮助。
我有一个用于Mac的Mono应用程序,该应用程序是在VS for Mac中开发的,使用的是VS for Mac中的最新更新,其中包括Mono Framework MDK 5.16.0.221。该应用程序的目标是.NET Framework 4.7.1
该应用程序通过EF Core(所有最新软件包)访问SQLite DB,问题是,如果我尝试向该应用程序添加WCF服务,事情就会刹车。显然,服务启动和数据库上下文初始化之间的顺序使应用程序崩溃。
我创建了this example project,其中包括针对该问题的测试用例。
它可以正常工作,但是如果IPC初始化是在数据库上下文之前完成的(将this line移动到this one之后),则可以重现故障。
编辑:
我检测到的问题是WCF ServiceHost
之间的启动顺序,而EF DbContext
的初始化正在影响应用程序行为。
首先初始化ServiceHost
:
serviceHost = new ServiceHost(singletonInstance);
...
serviceHost.AddServiceEndpoint(typeof(S), new NetTcpBinding(), serviceAddress);
serviceHost.Open();
然后DbContext
var databaseProvider = new DatabaseProvider(DB_FILE);
DatabaseContext databaseContext = databaseProvider.GetConnection();
使用System.NotSupportedException : Specified method is not supported.
从数据库访问信息时,会导致类似 databaseContext
的异常。
谢谢