0

私には独特の問題があります。

Url に対して HttpWebRequest を作成すると、テスト ライブラリのテストが正常に機能します。

次に、mvc4 Web アプリケーションに向かい、テストから呼び出したのと同じコードを呼び出してみます。そして、それは失敗します。

さて、ここでうまくいかないことがいくつかあることを私は知っています。しかし、実際には、それほど多くのことはすべきではありません。mvc4アプリケーションのweb.configをapp.configに変更すると、まったく同じ値で機能するため、web.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 に答える