小编Gui*_*ers的帖子

在ASP.NET Web API中返回错误的最佳实践

我对我们向客户返回错误的方式感到担忧.

当我们收到错误时,我们通过抛出HttpResponseException立即返回错误:

public void Post(Customer customer)
{
    if (string.IsNullOrEmpty(customer.Name))
    {
        throw new HttpResponseException("Customer Name cannot be empty", HttpStatusCode.BadRequest) 
    }
    if (customer.Accounts.Count == 0)
    {
         throw new HttpResponseException("Customer does not have any account", HttpStatusCode.BadRequest) 
    }
}
Run Code Online (Sandbox Code Playgroud)

或者我们累积所有错误然后发送回客户端:

public void Post(Customer customer)
{
    List<string> errors = new List<string>();
    if (string.IsNullOrEmpty(customer.Name))
    {
        errors.Add("Customer Name cannot be empty"); 
    }
    if (customer.Accounts.Count == 0)
    {
         errors.Add("Customer does not have any account"); 
    }
    var responseMessage = new HttpResponseMessage<List<string>>(errors, HttpStatusCode.BadRequest);
    throw new HttpResponseException(responseMessage);
}
Run Code Online (Sandbox Code Playgroud)

这只是一个示例代码,无论是验证错误还是服务器错误都无关紧要,我只想了解最佳实践,每种方法的优缺点.

c# rest asp.net-web-api

364
推荐指数
8
解决办法
46万
查看次数

将Samba的S-1-22- [12] - *SID映射到名称中

Samba3在用户S-1-22-1的范围内使用SID,在组中使用S-1-22-2.例如,S-1-22-1-1-10042是具有uid 10042的UNIX用户.我希望能够将这样的SID映射到名称,如'myunixaccount',类似于Windows帐户的此功能制图:

SecurityIdentifier sid = ...; // For instance from FileSystemAccessRule.
name = sid.Translate(typeof(NTAccount)).Value;
Run Code Online (Sandbox Code Playgroud)

Windows本身能够进行此映射,但我似乎无法找到映射算法.

增加:环境描述

测试了在C#中将SID转换为用户名的建议解决方案.它没有帮助.因此一些额外的环境描述:

  • Windows PC,加入域或独立,运行W7 Professional,x86.
  • 文件位于基于Samba的驱动器上.Samba对域的AD控制器进行身份验证.
  • Samba版本:4.0.3,在Linux 2.6.18-238,x64上运行.
  • 适用于Samba的PAM,互动会话等.
  • AD控制器是W2012,目录中有一些默认的UNIX扩展属性,允许映射UID等.
  • .NET Framework库4.5.2.
  • ldap.conf的:

piece of ldap.conf

nss_base_passwd=OU=nl,OU=xxx,dc=yyy,dc=local?sub(objectCategory=user)
nss_map_objectclass     posixAccount    User
nss_map_objectclass     shadowAccount   User
nss_map_attribute       uid             sAMAccountName
nss_map_attribute       uidNumber       uidNumber
nss_map_attribute       gidNumber       gidNumber
nss_map_attribute       cn              sAMAccountName
nss_map_attribute       uniqueMember    member
nss_map_attribute       userPassword    msSFUPassword
nss_map_attribute       homeDirectory   unixHomeDirectory
nss_map_attribute       loginShell      loginShell
nss_map_attribute       gecos           cn
nss_map_objectclass     posixGroup      Group
nss_map_attribute       shadowLastChange        pwdLastSet
Run Code Online (Sandbox Code Playgroud)

使用Windows身份验证的UNIX上的交互式登录工作正常,适用于Samba共享的dito.在域上使用PC时,它不会要求凭据.

一些样本,用户gle3(在1中突出显示)也存在于域中但具有不同的SID.这里使用的SID是Samba SID,如S-1-22-1-1-10001.

在(2)中,您可以看到用户存在于使用过的passwd配置中.以下当然不会产生任何结果:grep gle3 /etc/passwd …

c# samba security-identifier

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

ASP.Net调试目录监视HttpException

当我在调试模式下启动我的ASP.Net 4.0 Web应用程序时,我收到以下异常:

System.Web.HttpException occurred
  Message=Invalid file name for file monitoring: 'C:\src\main-232\src\ZNode\Znode_MultiFront\Web\Controls\Cat5\Navigation'. Common reasons for failure include:
- The filename is not a valid Win32 file name.
- The filename is not an absolute path.
- The filename contains wildcard characters.
- The file specified is a directory.
- Access denied.
  Source=System.Web
  ErrorCode=-2147024809
  WebEventCode=0
  StackTrace:
       at System.Web.DirectoryMonitor.AddFileMonitor(String file)
  InnerException: 
Run Code Online (Sandbox Code Playgroud)

问题是,这是指向IS目录的文件,为什么Visual Studio 2010认为它是一个文件?我在本地计算机上的IIS 7上运行它

asp.net debugging httpexception

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

插入大文件时"ORA-03135:连接失去联系"

我正在尝试使用Entity Framework(ODP.Net)将具有潜在大量二进制数据的插入到远程Oracle(11g)数据库中.它适用于非常小的文件(<5 KB),但对于较大的文件(例如44 KB),我收到错误:"ORA-03135:连接失去联系".

我不认为它超时,因为异常发生在执行命令的一秒钟内.

我尝试在我的连接字符串中设置以下两个,但无济于事:

  • Validate Connection=true
  • Pooling=false

我也查看listener.log了远程机器上的文件.它显示正在建立的连接,但没有异常或终止连接的迹象.

我想要建议的修复或故障排除方法.

编辑:

访问本地网络上的Oracle实例时,相同的SQL操作有效.

c# oracle odp.net

8
推荐指数
1
解决办法
3万
查看次数

有CryptoObfuscator或CryptoLicensing的经验吗?

我在市场上寻找一个好的(而且便宜的).Net混淆器.我正在开发一个.Net Windows窗体应用程序.

到目前为止,我评估了IntelliLock和SmartAssebly.我退出了第一个缺乏支持(我发送了两封没有回复的电子邮件,没有支持网站等).SmartAsebly看起来很不错,但对我的血液来说太丰富了.

有人用过CryptoObfuscator吗?有什么好的或坏的经历?

有一次,我在这里,那么CryptoLicensing呢?

谢谢

.net obfuscation crypto-obfuscator

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

Amazon WorkMail 账户无法接收电子邮件

我之前设置了 AWS WorkMail 组织和电子邮件地址,并且正在使用托管在 Route 53 上的自定义域。这已成功运行。

但是现在我已经创建了第二个 WorkMail 地址,我无法接收到它的电子邮件(尽管我可以从它发送电子邮件)。我收到以下错误消息:

The response from the remote server was:
550 5.1.1 Requested action not taken: mailbox unavailable

Final-Recipient: rfc822; email@my-domain.com
Action: failed
Status: 5.1.1
Remote-MTA: dns; inbound-smtp.us-east-1.amazonaws.com. ([my-ip], the
server for the domain [my-domain.com].)
Diagnostic-Code: smtp; 550 5.1.1 Requested action not taken: mailbox 
unavailable
Last-Attempt-Date: Wed, 13 Dec 2017 09:07:52 -0800 (PST)
Run Code Online (Sandbox Code Playgroud)

任何人都可以提供建议,解释为什么第二封电子邮件会出现问题,而第一封电子邮件不会出现问题?

编辑: 根据 kiwicopple 的建议,我已确保自定义域是 Set as Default并且为电子邮件地址选择了该域。然而,这并没有解决问题。

email amazon-workmail

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

Oracle文本catsearch多个在一个谓词中

我有一个包含2列varchar2类型的表.

我创造了2个空格

CREATE INDEX DOC_IDX_1 
ON DOCUMENTO 
( column1
) 
INDEX TYPE IS CTXSYS.CTXCAT
; 
CREATE INDEX DOC_IDX_2 
ON DOCUMENTO
( column2
) 
INDEX TYPE IS CTXSYS.CTXCAT
; 
Run Code Online (Sandbox Code Playgroud)

当我执行查询

select * 
from   table1 
where  CATSEARCH(column1, 'AAA', NULL) > 0
AND    CATSEARCH(column2 , 'BBBb', NULL) > 0
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

ORA-20000: Oracle Text error:
DRG-10849: catsearch non supporta il richiamo funzionale
DRG-10599: la colonna non è indicizzata
20000. 00000 -  "%s"
*Cause:    The stored procedure 'raise_application_error'
       was called which causes this error to …
Run Code Online (Sandbox Code Playgroud)

oracle text

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

AWS Workmail:无法接收电子邮件?

我创建了一个 AWS Workmail 账户并成功验证了托管在 Route 53 上的自定义域。然后我添加了 MX 条目,后跟四个 CNAME 条目。现在我可以从 Workmail 帐户发送电子邮件,但无法接收任何电子邮件。当我从 Gmail 帐户向工作邮件地址发送电子邮件时,收到 MAILER-DAEMON“错误”,表明电子邮件无法送达。

我现在等了两天多才让DNS传播到全世界,所以我认为我做错了什么。

在下面,您将找到我的 MX 的 Route 53 设置和一个 CNAME 记录集。

在此输入图像描述 在此输入图像描述

PS 问题可能与 CNAME 值末尾的点有关?喜欢---.dkim.amazonses.com.?我尝试了两个版本。

退回邮件: 由于收件人错误,此邮件无法发送。请稍后再试。

Received: by mail-wr0-f179.google.com with SMTP id r74so2588456wrb.13
 for <julian@wegoloco.es>; Sat, 23 Sep 2017 07:13:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20161025;
 h=mime-version:from:date:message-id:subject:to;
 bh=xcvl1pwCa8tv81pHwT3QQ6JAGR5rw5g4TkDQkVj8Irg=;
 b=CxIJRLPTX+TeSq0iAdOEc980/l3Nk7qHBIa+uNc7crx5Imv4bemQQIqv3UhmyhlwDE
 uZwcQ2ci1qghvlMTJjYrU7e/7GT2QR4wKR4r9fTIUXUBenFmHD5TfFTlTOq0ayMW3fOt
 J3/0QxZw3J6uOec2ufkC/e4TUMHC3z0Gii+wxQsThNo+99MLsA7Bezi3ptfogkQJ9u14
 h3IGcS/an+FUnKKELb/fh+pQMHc6vG129D9wohAb8CAxZgZf3o8WTiaqscWnbfScT2Zd
 qXWEPJWI+vcOL6X8Jj7Uc7kB7Qg4yq1GEbDQUg2IM4cfZvtj2q7wEJCIqOvqU5CC7TtZ
 8ZWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
 bh=xcvl1pwCa8tv81pHwT3QQ6JAGR5rw5g4TkDQkVj8Irg=;
 b=TaIcqkzM3mEOUyFDSrwPAsn1/shmC03Di9mc0/BnFwbi3oGNaa9UjDxy8WbSYKCESd
 3oNFJoUIusG3syqfdD/wj9F176TlcURKaZZGVQ51JXfLPQP72uaoeONJ1qGT+TTorCvs
 RqVoWlMB2JnQ07D3fkuWC7Nc+hkjAAndHV9aY02YBbDu+FB/W4h7A6Bma/pKpUzHSmyA
 /M6sZTiBcI9ykYgPqnYm2iGuIKsQxAALFNcEQSlgaDgHJwjwx19rK4tt1jdR8L6DNg1o
 xy/v0N4VQKtvD44kgIfBz95poKL2QwUrJ064BeGRgXVXWie6VDgr82ga3tGlm+fgfd4s
 LInQ==
X-Gm-Message-State: AHPjjUgJ0OPwauahFKP9+Ip54qnVxwcYINxqYMWQfArQxFVHF3DrITzK
 2KLn8LXcnPl5ZT5f8OiLGvUUjnYrH8tSDnU6wJnk7w== …
Run Code Online (Sandbox Code Playgroud)

email dns amazon-web-services amazon-route53 amazon-workmail

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

对AWS WorkMail Webmail访问URL使用自定义域

我能够设置AWS WorkMail以使用自定义域接收和发送电子邮件,例如 john@mycompany.com

现在,我想允许我们的用户登录并访问电子邮件https://mail.mycompany.com (而不是AWS提供的访问URL https://mycompany.awsapps.com)。

我可以找到的文档似乎只能处理我的第一种情况(已经完成)。

谢谢

amazon-workmail

2
推荐指数
3
解决办法
3890
查看次数

将原始json发布到mailgun,以准备与Freshdesk Webhook一起使用

我正在尝试使用邮递员将以下原始数据发布到mailgun,我的最终用途是将请求构建到freshdesk Webhook中,该Webhook将原始JSON发布到回调URL。

我已将邮递员设置为POST以下原始JSON

{
  "from":"jwills@savills.co.uk"
  "to":"jwills@savills.co.uk"
  "subject":"test"
  "text":"working?"
}
Run Code Online (Sandbox Code Playgroud)

我收到回应:

{
  "message": "'from' parameter is missing"
}
Run Code Online (Sandbox Code Playgroud)

我想知道我如何错误地格式化代码?谢谢

json mailgun freshdesk

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

itgenclr007:使用VSTO加载项修复32位Excel中的OutOfMemory

使用Invantive Control(使用Microsoft .NET 4.7的VSTO加载项)的复杂查询从Exact Online检索大约200,000行.这适用于64位版本的Microsoft Excel 2010及更高版本.

在查询结束时强制.NET垃圾回收报告后,正在使用大约250 MB的内存.在此过程中,使用的内存会有所不同,但会看到750 MB内存的峰值.

但是,在32位版本上,用户在下载数据期间通常会收到OutOfMemory异常.即使在重构查询以尽早摆脱未使用的列和行之后,它仍然不适合可用内存.

如何在Excel 32位版本中运行这样复杂的查询?

.net excel vsto invantive-control

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

从 tiff 图像中删除水印

我已经使用 .pdf 从 PDF 生成了 TIFF 图像Tallcomponents.pdfrasterizer.net.dll。TIFF 图像包含一个水印,其中包含对角打印的其网站的 URL。

如何去除水印?

c# pdf-rasterizer

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