问题列表 - 第685页

我该如何检测ASP.NET中上传文件的MIME类型?

人们通常如何使用ASP.NET检测上传文件的MIME类型?

asp.net mime types

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

用于保存和写入不同文件格式的模式

保存和加载不同的文件格式时是否有一个好用的模式?

例如,我有一个复杂的文档类层次结构,但我想支持一些不同的文件格式.

我考虑过策略模式,但我不相信,因为需要访问对象的每个部分才能保存和加载它.

file-io design-patterns

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

WCF - 错误/异常与消息

我们目前正在讨论是否最好通过WCF通道抛出故障,而不是传递指示服务状态或响应的消息.

故障来自WCF的内置支持,您可以使用内置的错误处理程序并做出相应的反应.然而,这会带来开销,因为在.NET中抛出异常可能会非常昂贵.

消息可以包含必要的信息,以确定服务调用发生的情况,而不会产生抛出异常的开销.但是,它确实需要几行重复代码来分析消息并确定其内容后面的操作.

我们开始创建一个可以在我们的服务中使用的通用消息对象,这就是我们想出的:

public class ReturnItemDTO<T>
{
    [DataMember]
    public bool Success { get; set; }

    [DataMember]
    public string ErrorMessage { get; set; }

    [DataMember]
    public T Item { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如果我的所有服务调用都返回此项,我可以一直检查"成功"属性以确定是否一切顺利.然后我在事件中有一个错误消息字符串表示出现了问题,如果需要,我还有一个包含Dto的通用项.

必须将异常信息记录到中央记录服务,而不是从服务传回.

思考?评论?想法?建议?

对我的问题进一步澄清

我与错误合同有关的一个问题是沟通业务规则.

比如,如果有人登录,并且他们的帐户被锁定,我该如何沟通呢?他们的登录显然失败了,但由于"帐户锁定"的原因导致登录失败.

我也是:

A)使用boolean,抛出Fault并锁定消息帐户

B)返回AuthenticatedDTO及相关信息

wcf exception

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

更改String的默认编码(byte [])

有没有办法更改String(byte [])构造函数使用的编码?

在我自己的代码中,我使用String(byte [],String)来指定编码,但我使用的是无法更改的外部库.

String src = "with accents: é à";
byte[] bytes = src.getBytes("UTF-8");
System.out.println("UTF-8 decoded: "+new String(bytes,"UTF-8"));
System.out.println("Default decoded: "+new String(bytes));
Run Code Online (Sandbox Code Playgroud)

这个输出是:

UTF-8 decoded: with accents: é à
Default decoded: with accents: é à

我试过更改系统属性,file.encoding但它不起作用.

java encoding

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

如何在wordpress.com上发布代码

几天前在wordpress上发布了一个新博客(http://ghads.wordpress.com),我想现在或之后发布一些代码片段.反正有没有支付额外的插件使它看起来像代码?

blogs code-formatting wordpress.com

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

在Java中增加Map值的最有效方法

我希望这个问题对于这个论坛来说不算太基础,但我们会看到.我想知道如何重构一些代码以获得更好的性能,这些代码会运行很多次.

假设我正在使用Map(可能是HashMap)创建一个单词频率列表,其中每个键都是一个字符串,其中包含要计数的单词,而值是一个整数,每次找到该单词的标记时,该整数都会递增.

在Perl中,增加这样的值将非常简单:

$map{$word}++;
Run Code Online (Sandbox Code Playgroud)

但在Java中,它要复杂得多.这是我目前正在做的方式:

int count = map.containsKey(word) ? map.get(word) : 0;
map.put(word, count + 1);
Run Code Online (Sandbox Code Playgroud)

这当然依赖于较新Java版本中的自动装箱功能.我想知道你是否可以提出一种更有效的方法来增加这样的价值.是否有良好的性能原因可以避开Collections框架并使用其他东西?

更新:我已经对几个答案进行了测试.见下文.

java collections optimization

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

在asp.net中获取Windows /域凭据,同时允许在IIS中进行匿名访问

我在我们的数据中心运行了一个asp.NET webapplication,我们希望客户通过单点登录进行登录.如果我们可以使用IIS集成安全性,这将非常容易.但是我们不能这样做.我们对客户的域控制器没有信任.我们希望网站可用于一般互联网.只有当人们从客户网络中连接时,他们才会自动登录.

我们拥有的是域帐户列表以及在asp.net代码中通过LDAP查询DC的方法.在IIS中允许匿名访问时,IIS永远不会向浏览器挑战凭据.因此我们的应用程序永远不会获得用户凭据.

有没有办法强制浏览器发送凭据(因此能够使用单点登录)与IIS接受匿名请求.

更新:

我尝试自己发送401:未经授权,www-authenticate:NTLM标头.接下来发生的事情(正如Fiddler告诉我的那样)是IIS完全控制并处理完整的请求链.据我从各种来源了解,IIS采用用户名,将挑战发送回浏览器.浏览器返回加密响应,IIS连接到域控制器以使用此响应对用户进行身份验证.

但是在我的方案中,IIS与客户端位于不同的Windows域中,无法对用户进行身份验证.因此,建立一个带有Windows身份验证功能的独立站点也无法正常工作.

现在我需要选择我正在研究的选项:

  1. 在我们的托管域和客户域之间创建域信任(我们的IT部门对此不满意)
  2. 使用NTML代理将IIS身份验证请求转发到客户端域控制器(我们有可通过LDAP连接的VPN连接)

c# asp.net iis single-sign-on

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

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

如何从TableAdapter检索存储过程返回值

使用TableAdapter时,我找不到一种优雅的方法来从存储过程中获取返回值.

使用非标量存储过程调用时,TableAdapter似乎不支持SQL存储过程返回值.您希望自动生成函数的返回值是来自存储过程的返回值,但它不是(它实际上是受影响的行数).虽然可以使用'out'参数并将变量作为ref传递给自动生成的函数,但它不是一个非常干净的解决方案.

我在网上看到了一些丑陋的黑客来解决这个问题,但没有像样的解决方案.任何帮助,将不胜感激.

sql-server asp.net

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

如何在SVN中设置访问控制?

我已经使用SVN建立了一个存储库并上传了项目.有多个用户在处理这些项目.但是,并非所有人都在处理所有项目并需要访问权限.我想为每个项目的用户设置权限.

我该如何实现这一目标?

svn authorization svn-administraton

80
推荐指数
6
解决办法
22万
查看次数