小编Nic*_*ico的帖子

我的异步任务总是阻止UI

在WPF 4.5应用程序中,我不明白为什么在使用await + a task时UI被阻止:

    private async void Button_Click(object sender, RoutedEventArgs e)
    {
        // Task.Delay works great
        //await Task.Delay(5000);

        double value = await JobAsync(25.0);

        MessageBox.Show("finished : " + value.ToString());
    }

    private async Task<double> JobAsync(double value)
    {
        for (int i = 0; i < 30000000; i++)
            value += Math.Log(Math.Sqrt(Math.Pow(value, 0.75)));

        return value;
    }
Run Code Online (Sandbox Code Playgroud)

等待Task.Delay工作得很好,但等待JobAsync阻止了UI.为什么?谢谢.

c# multithreading asynchronous dispatcher async-await

12
推荐指数
2
解决办法
8185
查看次数

log4net不登录Windows事件查看器

我想使用log4net登录Windows事件查看器.
我创建了一个控制台应用程序(.NET Framework 4),我添加了参考log4net.dll,我将以下代码放在我的App.config中:

<configuration>
 <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
 </configSections>

<log4net>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
  </layout>
</appender>
<root>
  <level value="ALL"/>
  <appender-ref ref="EventLogAppender"/>
</root>
</log4net>

<startup><supportedRuntime version="v2.0.50727"/></startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我把以下代码:

class Program
{
    static void Main(string[] args)
    {
        log4net.ILog log = log4net.LogManager.GetLogger(typeof(Program));
        log.Error("test error", new Exception("error's exception", new Exception("error's innerexception")));

        Console.Read();
    }
}
Run Code Online (Sandbox Code Playgroud)

它没有记录,没有任何反应,为什么?

谢谢

c# log4net event-log event-viewer

6
推荐指数
2
解决办法
1万
查看次数

如何显示嵌入图像的html电子邮件(cid)?

我将电子邮件及其附件存储在数据库中.我正在使用WPF WebBrowser和NavigateToString方法来显示电子邮件的html正文.它可以工作但是当电子邮件使用带有内容ID(cid)的嵌入图像时,我无法显示它们.当我在数据库中保存电子邮件时,我将所有嵌入的图像保存为附件.我可以在当前用户的临时文件中创建和存储图像,并用用户磁盘上的绝对路径替换cid引用,但我认为这不是最好的方法...

你有什么想法吗?

c# browser wpf image

6
推荐指数
1
解决办法
7696
查看次数