我在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中设置断点时它从未命中过?
答案 0 :(得分:2)
另外,为什么当我在
Application_Start
中设置一个断点时,它从未命中过?
它永远不会被击中因为Application_Start
仅在应用程序“开始”时被触发。这意味着如果您希望触发该方法,则必须在IIS中重新启动该应用程序。
另一种选择是将该特定方法移动到Application_BeginRequest
方法,以确保您的解析正确。这将触发每个页面请求的查找。一旦你知道它正在工作,那么你可以将查找移动到Application_Start
答案 1 :(得分:0)
谢谢大家试图帮助我解决这个问题,但事实证明这只不过是对我的疏忽。通信服务配置文件中的EnableMock值仍然设置为true,之前我没有注意到。我没有意识到有两个配置文件。我想我还有很多东西需要了解这个项目。