Microsoft Exchange 传输代理
Microsoft Exchange Transport Agent
我正在为 Microsoft Exchange 服务器构建传输代理。到目前为止我已经实施的逻辑有效。现在,我想将一些变量存储在数据库中。我选择了存储库模式,当我尝试从 App.Config 文件中提取连接字符串时,我收到 NullReference 异常:
public class ConfigRepository : IConfigRepository, IDisposable
{
private string configString = System.Configuration.ConfigurationManager.ConnectionStrings["citadelEAPEntities"].ConnectionString;
// private string configString = "..."; here I tried to write the string directly .
private string configValProc = "[dbo].[GetConfigValue]";
private SqlConnection connection;
public ConfigRepository()
{
connection = new SqlConnection(configString);
}
// other logic and implementation of interfaces
}
相同的 class 在测试控制台应用程序中实现,工作正常(相同的连接字符串以相同的方式存储在 app.config 文件中)。
我不明白这个例外的原因。传输代理 class 在 'using' 语句中实例化一个 ConfigRepository class ,当它通过配置管理器初始化连接字符串变量到达构造函数时,抛出异常。显然,当我以硬编码方式使用连接字符串时,一切正常。
在引用其他程序集(例如 System.Configuration)时,传输代理程序集是否受到某种限制?只是奇怪。
Transport Agents 运行 在 NetworkService 的安全上下文中,因此它很可能没有足够的权限从您引用程序集的位置加载程序集。如果您使用进程监视器 https://docs.microsoft.com/en-us/sysinternals/downloads/procmon 之类的东西,您应该能够跟踪进程等
我正在为 Microsoft Exchange 服务器构建传输代理。到目前为止我已经实施的逻辑有效。现在,我想将一些变量存储在数据库中。我选择了存储库模式,当我尝试从 App.Config 文件中提取连接字符串时,我收到 NullReference 异常:
public class ConfigRepository : IConfigRepository, IDisposable
{
private string configString = System.Configuration.ConfigurationManager.ConnectionStrings["citadelEAPEntities"].ConnectionString;
// private string configString = "..."; here I tried to write the string directly .
private string configValProc = "[dbo].[GetConfigValue]";
private SqlConnection connection;
public ConfigRepository()
{
connection = new SqlConnection(configString);
}
// other logic and implementation of interfaces
}
相同的 class 在测试控制台应用程序中实现,工作正常(相同的连接字符串以相同的方式存储在 app.config 文件中)。 我不明白这个例外的原因。传输代理 class 在 'using' 语句中实例化一个 ConfigRepository class ,当它通过配置管理器初始化连接字符串变量到达构造函数时,抛出异常。显然,当我以硬编码方式使用连接字符串时,一切正常。
在引用其他程序集(例如 System.Configuration)时,传输代理程序集是否受到某种限制?只是奇怪。
Transport Agents 运行 在 NetworkService 的安全上下文中,因此它很可能没有足够的权限从您引用程序集的位置加载程序集。如果您使用进程监视器 https://docs.microsoft.com/en-us/sysinternals/downloads/procmon 之类的东西,您应该能够跟踪进程等