小编Tim*_*lds的帖子

当后跟URL参数时,Internet Explorer会从下载中删除.exe扩展名

我现在正在从Amazon S3提供文件,并使用API​​生成安全URL.除了在IE中下载.exe文件的人外,无处不在.我已经在IE 8和7上测试了这个.

如果运行本地Web服务器,则可以通过将notepad.exe放入Web根目录进行测试.转到http://localhost/notepad.exe (或等效的)现在尝试http://localhost/notepad.exe

它应该将文件保存为记事本,不带扩展名.这是一个"功能",因为谷歌搜索它没有任何结果.由于整个IE扩展问题,您无法在文件扩展名上搜索任何内容.

此外,如果文件名称中有多个句点,则有时会在末尾添加[1]或[].

有任何想法吗?关于这种可怕行为的文件?它似乎必须是一个安全功能,但我还没有找到一个禁用它的选项.

一如既往,谢谢.蒂姆

internet-explorer file-extension download

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

CSS:水平UL,其中LI包含TABLE.可能?

我正在尝试为网站修复一个可怕的嵌套表格布局.该页面将具有可变数量的利用Google图表的元素.我试图在表格单元格内部放置复杂的意大利面条代码而不是复杂的意大利面条代码,而是使用水平UL,因此无论所涉及的图表如何,内容块都将清晰地布局.我遇到的问题是Google图表组件杠杆表.当一个表元素存在于LI内的任何位置时,LI将被移动到下一行(假设因为默认情况下表元素之前和之后都有换行符).

我已经尝试了桌子的各种显示模式,没有运气.这是一个失败的原因吗?

示例HTML代码来说明问题:

<html>
<body>
<style type='text/css'>
 #navlist li{
    display:inline;
    list-style-type:none;

    }
</style>
    <ul id='navlist'>
        <li>TEST</li>
        <li>TEST2</li>
        <li>
            <table style='border:1px solid black'><tr><td>TEST</td></tr></table>
        </li>
        <li>TEST3</li>
        <li>
            <table style='border:1px solid blue'><tr><td>TEST</td></tr></table>
        </li>
        <li>
            <table style='border:1px solid green'><tr><td>TEST</td></tr></table>
        </li>
    </ul>
</body>
</html>

html css html-table horizontallist

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

应用程序不记录

我有许多ASP.NET应用程序使用log4net没有问题.我无法使用log4net来记录我使用MVC库编写的任何服务中的任何内容.我在所有服务中都具有相同的配置(除了日志文件名).每个服务都作为同一个用户运行,并使用相同的应用程序池.

这是我正在使用的配置:

<log4net>
        <appender name="XMLAppender" type="log4net.Appender.RollingFileAppender">
            <file value="C:\logs\SERVICENAME.Log.xml"/>
            <appendToFile value="true"/>
            <rollingStyle value="Composite"/>
            <datePattern value="yyyyMM"/>
            <maxSizeRollBackups value="10"/>
            <maximumFileSize value="100MB"/>
            <layout type="log4net.Layout.XmlLayoutSchemaLog4j">
                <locationInfo value="false"/>
            </layout>
    </appender>
        <root>
            <level value="INFO"/>
            <appender-ref ref="XMLAppender"/>
        </root>
    </log4net>
Run Code Online (Sandbox Code Playgroud)

我总共有configSection条目,如下所示:

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
...
</configSections>
Run Code Online (Sandbox Code Playgroud)

我还打开了log4net调试并设置system.diagnostics将跟踪写入文件.在这里我看到了MVC和非MVC应用程序之间输出的差异.

MVC:

log4net: log4net assembly [log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821]. Loaded from [C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\MVCSERVICENAME\25c1b478\883641ac\assembly\dl3\707a9005\e1887c7f_5040ca01\log4net.DLL]. (.NET Runtime [2.0.50727.3074] on Microsoft Windows NT 6.0.6002 Service Pack 2, v.286)
log4net: DefaultRepositorySelector: defaultRepositoryType [log4net.Repository.Hierarchy.Hierarchy]
log4net: DefaultRepositorySelector: Creating repository for assembly [MVCSERVICENAME, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]
log4net: …
Run Code Online (Sandbox Code Playgroud)

model-view-controller asp.net-mvc logging log4net web-config

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

C#、Sql Server 2008:将大型结果集流式传输给最终用户仅适用于某些数据库

我有一个长时间运行的查询,返回一个大数据集。该查询是从 Web 服务调用的,结果会转换为 CSV 文件供最终用户使用。以前的版本需要 10 多分钟才能运行,并且只有在查询完成后才会将结果返回给最终用户。

我将查询重写为在大多数情况下在一分钟左右运行的位置,并重写了它的访问方式,以便结果在从数据库服务器进入 asp.net Web 服务时将流式传输到客户端。我使用 SQL Server 的本地实例以及远程实例对此进行了测试,没有出现任何问题。

现在,在生产部署的关键时刻,我们的生产 SQL Server 机器似乎在查询完成执行之前不会将任何结果发送回 Web 服务。此外,我发现另一台机器与工作的远程服务器(克隆)相同,也没有流式传输结果。

所有计算机上的 SQL Server 2008 版本都是相同的。生产计算机安装的 Windows Server 版本略有不同(6.0 与 6.1)。生产服务器有 4 个核心,RAM 是其他服务器的几倍。其他服务器是单核、1GB 内存。

有什么设置会导致这种情况吗?或者我可以设置任何设置来阻止 SQL Server 缓冲结果吗?

尽管我知道这根本不会真正影响整体运行时间,但它会极大地改变最终用户的看法。

太长;博士;我需要在查询运行时将查询结果流式传输给最终用户。它适用于某些数据库机器,但不适用于其他数据库机器。所有计算机都运行相同版本的 SQL Server。

我在 C# 中所做的事情的要点:

var reader = cmd.ExecuteReader();
Response.Write(getHeader());
while(reader.Read())
{
  Response.Write(getCSVForRow(reader));
  if(shouldFlush()) Response.Flush()
}
Run Code Online (Sandbox Code Playgroud)

根据以下回复进行澄清

有 4 个数据库服务器,Local、Prod、QA1、QA2。它们都运行 SQL Server 2008。它们都加载了相同的数据库(或多或少,非产品上有 1 天的延迟)。

Web 服务托管在我的计算机上(尽管我也测试过远程托管)。

测试之间唯一的变化是 web.config 中的连接字符串。

QA2 正在运行(流式传输),它是 QA1(VM)的克隆。QA1 和 QA2 之间的唯一区别是 QA2 上添加的数据库与此查询根本无关。

QA1 不起作用。 …

c# sql-server streaming resultset

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

Ruby:将编码字符转换为实际的UTF-8字符

Ruby不会使用UTF-8字符串.我在XML文件中传递数据,虽然XML文档被指定为UTF-8,但它将ascii编码(每个字符两个字节)视为单个字符.

我已经开始以"\ uXXXX"格式编码输入字符串,但我无法弄清楚如何将其转换为实际的UTF-8字符.我一直在这个网站上搜索并谷歌无济于事,我现在的挫折感非常高.我使用的是Ruby 1.8.6

基本上,我想转换字符串'\ u03a3' - >"Σ".

我有的是:

data.gsub /\\u([a-zA-Z0-9]{4})/,  $1.hex.to_i.chr
Run Code Online (Sandbox Code Playgroud)

这当然给出了"931超出char范围"的错误.

谢谢蒂姆

ruby encoding utf-8

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