簡體   English   中英

Microsoft Exchange傳輸代理

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM