我有一个用C#编写的.Net 4.5控制台应用程序,它使用Entity Framework 6.1.3调用SQL并生成PDF。如果运行可执行文件,应用程序运行正常但在通过任务计划程序运行时失败。它只能在任务计划程序上运行,选项为“仅在用户登录时运行”我需要它在未登录时运行。
我在Task Scheduler中测试可执行文件的做法是模拟从Entity Framework调用的数据,并且应用程序工作正常,所以有些东西告诉我Task Scheduler不喜欢我的Entity Framework调用。然而,我还有其他计划任务使用实体框架运行..不确定问题是什么。以下是Windows日志中出现的错误之一。
应用程序:CreatePDFFile.exe 框架版本:v4.0.30319 描述:由于未处理的异常,进程终止。 异常信息:System.Data.SqlClient.SqlException 堆: 在System.Data.Entity.Internal.RetryAction
1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].PerformAction(System.__Canon) at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(System.Action
1) 在System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase() 在System.Data.Entity.Internal.LazyInternalContext.get_ObjectContext() 在System.Data.Entity.Internal.InternalContext.ExecuteSqlQuery [[System .__ Canon,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]](System.String,System.Nullable1<Boolean>, System.Object[]) at System.Data.Entity.Internal.InternalContext.ExecuteSqlQueryAsIEnumerator[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.String, System.Nullable
1, System.Object的[]) 在System.Data.Entity.Internal.InternalContext.ExecuteSqlQuery(System.Type,System.String,System.Nullable1<Boolean>, System.Object[]) at System.Data.Entity.Internal.InternalSqlNonSetQuery.GetEnumerator() at System.Data.Entity.Infrastructure.DbRawSqlQuery
1 [[System .__ Canon,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]。的GetEnumerator() at System.Linq.Enumerable + WhereSelectEnumerableIterator2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext() at System.Collections.Generic.List
1 [[System .__ Canon,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]] .. ctor(System.Collections.Generic.IEnumerable {{ 1}} 1) 在Repository.MyRepository.GetData(System.String,System.String,System.String,Int32)
答案 0 :(得分:0)
我正在使用SQL身份验证。我添加了一个try catch错误,我得到了这个:
登录失败:登录来自不受信任的域,无法使用 使用Windows身份验证。
在查看我的连接字符串之后,我意识到我已经将连接字符串从我的PC复制到服务器并替换了数据源而不是凭证....所以它已经解决了。