相关疑难解决方法(0)

FxCop for .NET 4.0

我知道Visual Studio 2010内置了一个新的代码分析工具,但这仅适用于高级版和终极版.从我可以看到最新的FxCop支持.NET 3.5 SP1.搜索我无法找到任何针对.NET 4.0的FxCop的引用.是否有计划继续提供FxCop并支持.NET 4.0?我在哪里可以找到有关它的更多信息并下载它?

fxcop .net-4.0 visual-studio-2010 visual-studio

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

验证电子邮件地址

我正在尝试使用以下代码使用c#发送电子邮件.

MailMessage mail = new MailMessage();
mail.From = new MailAddress(fromAddress, friendlyName);
mail.To.Add(toAddress);
mail.CC.Add(ccAddress);

//set the content
mail.Subject = emailSubject;
mail.Body = emailHeader + "\n" + emailBody;

//send the message
SmtpClient smtp = new SmtpClient(ServerAddress);
smtp.Credentials = CredentialCache.DefaultNetworkCredentials;
mail.IsBodyHtml = true;
smtp.Send(mail);
Run Code Online (Sandbox Code Playgroud)

现在我的函数收到的"toAddress"字符串可能包含一个地址,或者它可能包含许多逗号分隔的地址.

现在的问题是,在多个逗号分隔的地址的情况下,其中一个或两个可能是错误的电子邮件地址格式.

因此,当我尝试使用此代码发送电子邮件时,我得到例外:

"指定的字符串不是电子邮件地址所需的格式."

有没有办法验证逗号分隔的电子邮件地址?我曾在某处读到,验证电子邮件地址的唯一方法是向其发送电子邮件,因为验证电子邮件地址的正则表达式可能会非常庞大​​.

此外,我无法控制设计,或者地址字符串如何影响我的功能,我无法在UI中添加电子邮件验证,所以我很无奈......

我的问题是电子邮件不会被传递到逗号分隔字符串中的所有地址,即使只有一些地址的格式错误.

有没有办法在.NET中正确验证电子邮件地址?有没有办法清理坏的电子邮件地址并将邮件发送给好的邮件地址?

.net c# email

28
推荐指数
6
解决办法
8万
查看次数

哪种类型的例外没有捕获?

很多时候,提到只捕获我可以处理的异常(抛出,包装和/或记录,或执行一些其他操作).

哪些例外无法处理?这是不应该被抓住的意思吗?我知道不应该捕获可能表示对象引用为null的异常,因为它们是编程错误而不是用户激发的.还有其他例子吗?另一个是ExecutionEngineException.

此外,catch块中的操作过程总是在rethrow,wrap/rethrow和log之间吗?是否有需要在catch块中执行某些其他操作的情况?

谢谢

.net c# exception-handling exception

16
推荐指数
2
解决办法
1828
查看次数

未捕获.NET异常

我有一个看起来像这样的函数:

try
{
     _dbManager.InsertSearch(some data);
}
catch (Exception ex)
{
    //do logging
}
Run Code Online (Sandbox Code Playgroud)

_dbManager使用LINQ将数据插入SQL数据库.昨天,托管数据库的机器耗尽了硬盘空间,我的程序崩溃了.我有一个崩溃转储,它显示有SqlClient.SqlException一个异常消息,例如"数据库事务日志已满......".

我的问题是:为什么异常没有在上面的catch块中被捕获?奇怪的是,当我试图重现这个问题时,我可以得到相同的异常,但是它被catch块捕获了.可能是什么问题?

第二,相关问题:想象一下,如果我们使用第三方库,我们不希望抛出任何异常.我们可以使用try-catch块,但这只适用于调用线程.如果第三方启动新线程并抛出异常怎么办?有办法处理这个吗?我知道我可以注册我们的UnhandledExceptionHandler,但这似乎与我想要的不同.

c# exception linq-to-sql

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

如何捕捉异常

这是我的第一个正确处理异常的应用程序.这是一个WCF服务.以前所有其他的只是我自己的简单应用程序.我对C#中的异常处理知之甚少.

我有这样的代码:

MembershipUser memUser = Membership.GetUser(username);

DatabaseDataContext context = new DatabaseDataContext();
UserMembership user = UserMembership.getUserMembership(memUser);
ItemsForUser itemUser = Helper.createItemForUser(ref item, memUser);
Helper.setItemCreationInfo(ref item, user);
context.Items.InsertOnSubmit(item);
context.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)

在此代码中,可能会发生一些例外情况.比如NullReferenceException.我如何知道哪个对象导致了异常,因此我可以知道在catch中要做什么以及返回到客户端的内容?

c# wcf exception-handling

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