如何在WCF服务中延迟进程?
我在WCF应用程序中添加了一项额外的新服务。 在WCF服务中调用方法时,将打开数据库并执行LINQ查询。 但现在有了额外的服务。 LINQ查询不再起作用了。我调试了出了什么问题。 我在方法中退后(通过调试)时看到,所以我调用LINQ查询两次,然后查询在第二次中正确执行。 通过打开数据库和执行查询,必须在此过程中添加延迟。但是如何?
有谁可以告诉我该怎么做?
...谢谢
在服务中:
namespace MHcService
{
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class ArtiestService : IArtiestService
{
...
public ArtiestRecord[] GetArtiestlijst(out ResultClass AResult, int AID_Genre, string AFilter)
{
Databeheer FDatabeheer = Databeheer.GetInstance();
return ArtiestlijstToArray(ArtiestDataManager.Artiestlijst(out AResult, AID_Genre, AFilter));
}
namespace MHcService.Database
{
public static class DatabaseControl
{
private static Databeheer FDatabeheer = Databeheer.GetInstance();
public static Databeheer GetDatabeheer { get { return FDatabeheer; } }
}
public class Databeheer
{
...
public DatamodelDataContext DataContext { get { return FDataContext; } }
private static Databeheer FUniqueInstance;
private static object FLockObject = new object();
public static Databeheer GetInstance()
{
if (FUniqueInstance == null)
{
lock (FLockObject)
{
if (FUniqueInstance == null)
{
FUniqueInstance = new Databeheer();
}
}
}
return FUniqueInstance;
}
private Databeheer()
{
Initialize();
}
private void Initialize()
{
FApplicatieDefinities = ApplicatieDefinities.GetInstance();
FApplicatieDefinities.Read();
FDatabasenaam = FApplicatieDefinities.ParamsApplicatie.Databasenaam;
FPadnaam = FApplicatieDefinities.ParamsApplicatie.Directories[DirectoryIndex.iDIR_DATABASE];
FServernaam = FApplicatieDefinities.ParamsApplicatie.Servernaam;
FDbBestandsnaam = FDatabasenaam + ConstAlgemeen.sEXT_MDF;
FLogBestandsnaam = FDatabasenaam + "_LOG" + ConstAlgemeen.sEXT_LDF;
FConnectionToSql = new SqlConnection(SqlServerConnectieString);
FDataContext = new DatamodelDataContext(GetSqlServerConnectie());
}
Link of the method< =这是该方法的来源(LINQ查询)通过这个问题,我没有得到我想要阅读的答案。所以我不想展示这个问题的来源。