0

我有一个特殊的问题。

我针对 Url 进行了 HttpWebRequest 并且我的测试库中的测试按应有的方式工作。

然后我转到我的 mvc4 Web 应用程序并尝试调用我从测试中调用的同一段代码。它失败了。

现在,我知道这里有些事情可能会出错。但实际上,应该没有那么多东西。我知道它与 web.config 有关,因为每当我将 mvc4 应用程序中的 web.config 更改为 app.config 时,使用完全相同的值,它就可以工作。

目标框架是 .NET 4.5。

这是我的 web.config 文件

<?xml version="1.0"?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
    </startup>
    <system.net>
        <settings>
            <httpWebRequest useUnsafeHeaderParsing="true"/>
        </settings>
    </system.net>
    <system.web>
        <httpRuntime targetFramework="4.5" />
        <compilation debug="true" targetFramework="4.5"/>
    </system.web>
    <log4net>
        <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
            <datePattern value="dd.MM.yyyy'.log'" />
            <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
            <file value="..\..\logs\" />
            <appendToFile value="true" />
            <rollingStyle value="Composite" />
            <maxSizeRollBackups value="10" />
            <maximumFileSize value="10MB" />
            <staticLogFileName value="false" />
            <layout type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n"/>
            </layout>
        </appender>

        <root>
            <level value="ALL" />
            <appender-ref ref="LogFileAppender" />
        </root>
    </log4net>
</configuration>
4

1 回答 1

1

好的,这与我的配置无关...DoH!

它与我调用我知道正在运行的代码的方式有关。由于它是我正在调用的异步方法,因此我需要从异步方法中调用它,因此线程不会挂在其他地方。Task.Run(()=> MyMethod()) 成功了。

于 2013-02-13T15:18:37.160 回答