问题列表 - 第19085页

使用QueueUserWorkItem在单独的线程上发送电子邮件

我有一个控制台应用程序,可以向不同的收件人发送自定义的电子邮件(带附件),我想同时发送它们.我需要创建单独的SmtpClients来实现这一点,所以我使用QueueUserWorkItem来创建电子邮件并将它们发送到不同的线程中.

片段

var events = new Dictionary<Guid, AutoResetEvent>();
foreach (...)
{
    ThreadPool.QueueUserWorkItem(delegate
    {
        var id = Guid.NewGuid();
        events.Add(id, new AutoResetEvent(false));
        var alert = // create custom class which internally creates SmtpClient & Mail Message
        alert.Send();
        events[id].Set();
    });   
}
// wait for all emails to signal
WaitHandle.WaitAll(events.Values.ToArray());
Run Code Online (Sandbox Code Playgroud)

我已经注意到(间歇性地)有时并非所有电子邮件都使用上述代码到达特定邮箱.我原以为使用Sendover SendAsync意味着电子邮件肯定是从应用程序发送的.但是,在行之后添加以下代码WaitHandle.WaitAll行:

System.Threading.Thread.Sleep(5000);
Run Code Online (Sandbox Code Playgroud)

似乎工作.我的想法是,无论出于何种原因,仍然没有发送一些电子邮件(即使在Send方法运行之后).给予额外的5秒似乎给应用程序足够的时间来完成.

这可能是我等待发送电子邮件的方式的问题吗?或者这是实际Send方法的问题?一旦我们通过这条线,电子邮件肯定是从应用程序发送的吗?

任何有关此问题的想法都会很棒,似乎无法完全理解实际原因.

更新

这里要求的是SMTP代码:

SmtpClient client = new SmtpClient("Host");
FieldInfo transport = client.GetType().GetField("transport", BindingFlags.NonPublic | BindingFlags.Instance);
FieldInfo authModules = transport.GetValue(client).GetType()
    .GetField("authenticationModules", BindingFlags.NonPublic | …
Run Code Online (Sandbox Code Playgroud)

c# multithreading smtp

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

Dotfuscator社区版有多好?什么是"足够好的混淆器"?

我打算发布一个价格低廉的小型实用程序.由于这比业务更重要,我计划使用随VS2008一起提供的Dotfuscator Community Edition.

有多好?

我还可以使用"足够好的混淆器"的定义 - Dotfuscator Community Edition缺少哪些功能以使其足够好.

编辑:

我检查了商业混淆器数量的定价,它们花了很多钱.这值得么?

商业版本是否更好地防止逆向工程?

我并不十分害怕我的应用程序被破解(如果应用程序非常糟糕,没有人有兴趣破解它,那将会令人失望).它无论如何都没有受到严密保护,而不是在代码中的几个地方进行过于复杂的串行密钥和许可证检查.它只是让我感到困惑,没有混淆,有人可以轻松获取源代码,重新命名并将其作为自己出售.

这会发生很多吗?

编辑2:

有人可以推荐商业混淆器.我发现很多,它们都很贵,有些甚至没有列在网站上的价格.

功能明智,所有产品似乎或多或少相似.

混淆器应该具有的最小功能集是什么?

.net obfuscation piracy piracy-prevention dotfuscator

57
推荐指数
4
解决办法
4万
查看次数

WPF Datagrid包含一些只读行

我需要将某些WPF Datagrid行显示为只读或不依赖于绑定模型上的属性.

如何才能做到这一点?

wpf datagrid readonly wpftoolkit

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

在Java中使用默认包导入类的语法是什么?

是否可以在Java中导入默认包中的类?如果是这样,语法是什么?例如,如果你有

package foo.bar;

public class SomeClass {
    // ...
Run Code Online (Sandbox Code Playgroud)

在一个文件中,你可以写

package baz.fonz;

import foo.bar.SomeClass;

public class AnotherClass {
    SomeClass sc = new SomeClass();
    // ...
Run Code Online (Sandbox Code Playgroud)

在另一个文件中.但是,如果SomeClass.java不包含包声明呢?你将如何参考SomeClassAnotherClass

java syntax import

51
推荐指数
4
解决办法
9万
查看次数

无法在JSP中设置标头.响应已经提交

WebSphere记录警告消息"SRTServletRes W警告:无法设置标头.已经提交的响应"用于一个JSP请求.我稍后需要在代码中使用respone标头.我做了一些研究,并了解到Servlet正在尝试向输出流发送更多数据,但该流已经提交.我不明白为什么这只发生在这个特定的JSP上,因为这个Servlet代码适用于其他JSP.此页面未重定向,我收到响应,没有响应标头.

java websphere jsp servlets

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

如何在PHP中动态调用方法?

示例:我有一个变量

$method = "doSomething";
Run Code Online (Sandbox Code Playgroud)

假设我有一个$ myObject,它知道一个非静态的公共方法doSomething()

我可以通过这样做来调用该方法吗?

$myObject->$method();
Run Code Online (Sandbox Code Playgroud)

或者还有其他/更好的方法吗?

php

4
推荐指数
1
解决办法
159
查看次数

如何为我的应用程序添加可编程性

我正在编写一个应用程序,它的核心是一个规则引擎.用户希望能够定义自定义规则.其中一些将是相当简单的代数表达式,许多将涉及一些if-then分支逻辑,而一些将更复杂.这样做有什么选择?

我的用户是非常聪明的,在T-SQL和Excel命令精通,一般熟悉的编程结构,但它们不是"程序员" 本身.

我考虑过使用VBA/VSTA; 以某种方式与Excel互操作; 集成某种脚本语言(Ruby?Perl?Tcl?); 或滚动我自己.

在所有可能的世界中,我将为他们提供一个带有颜色编码和类似IntelliSense的交互式帮助的编辑器,一个用于测试和试验的即时执行模式,以及一个逐步调试器.他们还需要能够保存,检索,编辑和执行他们的规则.炽热的速度并不重要.

我的环境是Windows/.Net 3.5/C#

有任何想法吗?

.net c# scripting .net-3.5

7
推荐指数
1
解决办法
672
查看次数

权限设计

我有一个应用程序,其中包含需要为权限设置的内容(即成员/非成员)

我有角色/身份验证设置就好了,这不是我的问题.我的问题基本上是询问存储每个对象权限的最佳方法.基本上有"Guest"和"Member"角色,以及每个对象的简单"Allow""Deny"权限.

有任何想法吗?该程序使用C#,LINQ和MS-SQL 2005在ASP.NET MVC中编写.

linq asp.net-mvc sql-server-2005

7
推荐指数
1
解决办法
3076
查看次数

一般C++性能改进技巧

有人能指点我一篇文章,或者在这里写一些关于一些C++编程习惯的技巧,这些习惯通常是有效的(没有真正的缺点)并且可以提高性能吗?我不是指编程模式和算法的复杂性 - 我需要一些小的东西,比如你如何定义你的函数,要做的事情/要避免在循环中,在堆栈上分配什么,堆上的内容等等.

这不是关于如何更快地制作一个特定的软件,也不是关于如何创建一个干净的软件设计,而是关于编程习惯 - 如果你总是应用它们,你将使你的代码比速度稍慢一点.

c++

49
推荐指数
11
解决办法
2万
查看次数

MySQL注释导致使用Perl DBI搞乱绑定参数计数

我有以下Perl代码进行DBI调用:

my $artsql = q{ *** SNIP A BUNCH OF SQL ***
                where a.article_id != ?
                      and at.type_name != 'List Element'   -- don't get list children
                      and aw.flowstate = 'Published'
                      and a.visible_as_article = 1 }
      . ( $filter ? q{and ch.channel_id = ?
                      and cat.category_id = ? }
                  : '' ) 
         . q{order by a.publish_date desc
                limit 5};

my @bind = ( $article );
push @bind, ( $channel_id, $category_id ) if $filter;

my $articles = $dbh->selectall_arrayref( $artsql, { Slice => …
Run Code Online (Sandbox Code Playgroud)

mysql perl comments dbi

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