2011-01-31 103 views
1

我在我的global.asax.cs文件中確定是否使用模擬通信服務。配置值被忽略

 protected void Application_Start(object sender, EventArgs e) 
     { 
     bool enableMock = bool.Parse(ConfigurationManager.AppSettings.Get("EnableMock")); 
     if (enableMock) 
     { 
      Container.AddFacility<WcfFacility>() 
       .Install(Configuration.FromXmlFile("WindsorMock.config")); 
     } 
     else 
     { 
      Container.AddFacility<WcfFacility>() 
       .Install(Configuration.FromXmlFile("Windsor.config")); 
     } 

在我的web.config文件我已經設置了EnableMock值爲false

<add key="communicationServiceUrl" value="http://localhost:49421/CommunicationService.svc"/> 
<add key="EnableMock" value="false"/> 

問題是,它依然使用設置爲false值的模擬服務,有人知道爲什麼這可能正在發生。另外,爲什麼當我在Application_Start中放置一個斷點時,它從來沒有打過?

+1

您是否停止並重新啓動本地Web服務器? – 2011-01-31 21:02:46

回答

0

謝謝大家,試圖幫助我在這一個,但它竟然只是我的一個疏忽。在通信服務配置文件中有一個EnableMock值,該值仍然設置爲真,我之前沒有注意到。我沒有意識到有兩個配置文件。我想我仍然有很多要了解這個項目。

2

另外,爲什麼當我在Application_Start中放置一個斷點時,它從來沒有打過?

它永遠不會被擊中,因爲Application_Start只在應用程序「啓動」時被觸發。這意味着如果您想要啓動該方法,則必須在IIS中重新啓動應用程序。

另一種選擇是將該特定方法移至Application_BeginRequest方法以確保您的解析是正確的。這將在每個頁面請求中觸發查找。一旦你知道它正在工作,那麼你可以將查找移動到Application_Start