2012-07-26 14 views
0

讓我們考慮一下我在一個文件夾中有一堆dll [10-15]。檢索dll中使用的sqlconnection.open類

現在我需要搜索並找到該dll中使用的所有connection.open方法。基於我的研究,它可以用反射來完成。所以給我一些想法,對我來說會有幫助。等待您的寶貴命令

+2

我很好奇,要做的工作。 _爲什麼_? – 2012-07-26 06:53:28

+0

我需要掃描所有的DLL只是爲了分割所有具有連接字符串(connection.open())分開 – GowthamanSS 2012-07-26 06:58:27

+0

它會讓你的應用程序真的很慢。你能分享一下你爲什麼要這麼做嗎? – danish 2012-07-26 07:01:25

回答

0
public class GlobalInfo 
{ 
    public static string ConnectionString { get; set; } 

    //Method to use ti update your connectionString 
    public static void UpdateConnectionString(string databaseName) 
    { 
     ConnectionString = "Build your connection string"; 
    } 
} 


public class MyController() 
{ 
    //Method using your connection string 
    public void MyMethod() 
    { 
     using(var connection = new SqlConnection(GlobalInfo.ConnectionString)) 
     { 
      connection.Open(); 
      //The rest of your code 
     } 
    } 
} 

所以,你只需要使用UpdateConnectionString()方法,withoud做任何反射來更新您的connectionString。

注意:在我的例子中,我使用了SqlConnection

祝你好運。

+0

k謝謝你的想法我的問題是假設我們有一個已發佈網站應用程序現在我可以寫一個新的庫文件與你的概念,並將其放入該項目的斌,並將其添加到HTTP模塊功能的網絡配置文件將它的工作? – GowthamanSS 2012-07-26 09:26:48

+0

我不知道,但爲什麼不在引用中添加dll? – SidAhmed 2012-07-26 09:33:50

+0

,因爲我只有exe文件不是源文件 – GowthamanSS 2012-07-26 09:59:07

0

根據評論和回覆,您需要的是IOC。由於您沒有Web應用程序的源代碼,除非原始代碼使用IOC,否則將會很困難。

我不明白的是,如果你想保持/增強一些現有的代碼庫,你需要訪問實際的代碼。我想你需要和你的老闆談談並獲得訪問權限。

您也可以嘗試和閱讀的dll在你的程序字符串,但將涉及這很容易使用的工具,如ILSpy,反射器等