[英]Microsoft Exchange Transport Agent
我正在為Microsoft Exchange服務器構建傳輸代理。 到目前為止,我已經實現的邏輯有效。 現在,我想將一些變量存儲在DB中。 我選擇了存儲庫模式,當我嘗試從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
}
在測試控制台應用程序中實現了相同的類,該類運行良好(使用相同的連接字符串以相同的方式存儲在app.config文件中)。 我無法理解此異常的原因。 傳輸器代理類在“ using”語句中實例化ConfigRepository類,並在通過配置管理器初始化連接字符串變量后到達構造函數時,將引發異常。 顯然,當我以硬編碼方式使用連接字符串時,一切正常。
在引用其他程序集(例如System.Configuration)時,運輸代理程序程序集是否受到某種限制? 真奇怪
傳輸代理在NetworkService的安全上下文下運行,因此很可能它沒有足夠的權限從引用它的位置加載程序集。 如果您使用過程監控器https://docs.microsoft.com/en-us/sysinternals/downloads/procmon之類的東西,則您應該能夠跟蹤過程等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.