小编Chr*_*ris的帖子

为什么ASP.NET gzip压缩会破坏CSS?

我有一个ASP.NET webforms应用程序(3.5 SP1),我正在努力,并尝试启用管道下的gzip fpr HTML和CSS.我正在使用这个实现(并尝试了其他几个挂钩到Application_BeginRequest中),它似乎破坏了页面使用的外部CSS文件,但间歇性地......突然所有样式都会在页面刷新时消失,保持方式一段时间,然后突然重新开始工作.

IE7和FF3都表现出这种行为.使用Web开发人员工具栏查看CSS时,它返回乱码.缓存控制标题是"私有",但我不知道是否是一个影响因素.

此外,它在ASP.NET Development Server上运行.也许它适用于IIS,但我正在开发XP,它是IIS5.

compression asp.net gzip

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

TDD和DI:依赖注入变得麻烦

C#,nUnit和Rhino Mocks,如果证明是适用的话.

当我尝试围绕一个复杂的函数包装测试时,我对TDD的追求仍在继续.假设我正在编写一个表单,当保存时,还必须保存表单中的依赖对象...形成问题的答案,附件(如果可用)和"日志"条目(例如"blahblah更新表单")或"blahblah附上了一个档案.").此保存功能还会根据在保存功能期间表单状态的更改方式向各种人发送电子邮件.

这意味着为了完全测试表单的save函数及其所有依赖项,我必须注入五到六个数据提供程序来测试这一个函数,并确保以正确的方式和顺序启动所有内容.在为表单对象编写多个链式构造函数以插入模拟的提供程序时,这很麻烦.我想我错过了一些东西,无论是重构方式还是更好的方式来设置模拟数据提供者.

我是否应该进一步研究重构方法以了解如何简化此功能?观察者模式是如何发声的,以便依赖对象检测父表单何时被保存并自行处理?我知道人们会说要拆分这个函数以便进行测试...这意味着我测试了每个依赖对象的各个保存函数,而不是表单本身的保存函数,它决定了每个函数应该如何保存自己.第一名?

tdd dependency-injection

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

为什么这么多网站不允许在密码中使用非字母数字字符?

在进行注册时,很多网站都不允许在密码中使用符号.由于我在所有密码中都包含多个符号,并且作为不时处理Web身份验证的程序员,我无法弄清楚为什么不允许这样做,这从可用性角度推动了我.我错过了什么吗?他们是否担心SQL注入?不想处理逃避字符?或者是否有非拉丁字母字符可以搞砸了?

类似的问题,关于这里限制长度的网站.

security passwords

9
推荐指数
5
解决办法
1231
查看次数

数据库服务器如何在没有任何"order by"语句的情况下决定返回行的顺序?

这是一个异想天开的问题,总是我想知道的事情,我想知道为什么它做的事情可能会加深我的理解.

假设我做"SELECT Top 10*FROM TableName".在短时间内,相同的10行返回,所以它似乎不是随机的.它们不是第一个或最后一个创建的.在我的大量样本大小...一个表中,它没有返回最小或最大自动递增主键值.

我还认为在考虑连接时问题会变得更加复杂.

我选择的数据库是MSSQL,但我认为这可能是一个有趣的问题,无论平台如何.

sql database

9
推荐指数
2
解决办法
638
查看次数

查找在ASP.NET中使用某个接口的控件

虽然我觉得我错过了一些显而易见的东西,但我对此有一个heckuva时间.我有一个继承自的控件,System.Web.UI.WebControls.Button然后实现我已设置的接口.所以想想......

public class Button : System.Web.UI.WebControls.Button, IMyButtonInterface { ... }
Run Code Online (Sandbox Code Playgroud)

在页面的代码隐藏中,我想从ASPX中找到该按钮的所有实例.因为我真的不知道它将是什么类型,只是它实现的接口,这是我在循环控制树时所要做的.事实上,我从来没有必须确定一个对象是否使用接口而不仅仅是测试它的类型.我怎样才能遍历控制树并IMyButtonInterface以干净的方式抽出任何实现的东西(Linq会好的)?

再次,知道它是显而易见的,但刚刚开始大量使用接口,我似乎无法专注于我的谷歌搜索结果:)

编辑: GetType()返回实际的类,但不返回接口,所以我无法测试(例如,它返回" MyNamespace.Button"而不是" IMyButtonInterface").在尝试在递归函数中使用" as"或" is"时,type参数甚至无法在函数内被识别!这很奇怪.所以

if(ctrl.GetType() == typeToFind) //ok

if(ctrl is typeToFind) //typeToFind isn't recognized! eh?
Run Code Online (Sandbox Code Playgroud)

绝对是在这个问题上摸不着头脑.

c# asp.net

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

SQL Server超时故障排除

我有一个网络服务,运行良好,没有修改几年了.突然今天它决定它不想运行,并抛出SQL超时:

System.Data.SqlClient.SqlException:超时已过期.操作完成之前经过的超时时间或服务器没有响应.

有趣的是,此Web服务与数据库位于同一服务器上,如果我将查询从SQL跟踪中拉出并在管理工作室中运行,则会在一秒钟内返回.但是,当从Web服务调用时,它会在30秒后超时.我正在使用企业库连接到数据库,所以我无法想象随机开始失败.

我不太确定突然让它停止工作的原因.我已经回收了它所在的应用程序池,甚至重新启动了我看到它正在使用的SQL进程.相同的行为.我可以解决这个问题吗?

更新:米奇钉了它.一旦我在sproc定义中的"AS"关键字之前添加了"WITH RECOMPILE",它就恢复了生机.好样的!

c# sql-server

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

Perforce在Microsoft商店中

我们的开发商店目前使用Visual SourceSafe.我们都知道这最终会如何(严重),所以我们正在调查其他系统.首先是Perforce.有没有人有使用它的经验和它与Visual Studio(2003/2005/2008)的集成?它是否与其他任何一个一样好,或者相对而言它是否具有良好的功能?

version-control perforce visual-sourcesafe

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

特定例程的绩效指标:任何最佳实践?

我想收集有关我的代码的特定例程的指标,以了解我可以最佳优化的位置.让我们举一个简单的例子说我有一个带有多个"学生"的"班级"数据库.假设当前代码为每个学生调用数据库,而不是一次性地将它们全部抓取.我想看看每个学生行每次访问多长时间.

这是在C#中,但我认为它适用于所有地方.通常当我对特定例程的性能感到好奇时,我会在它运行之前创建一个DateTime对象,运行例程,然后在调用之后创建另一个DateTime对象,并获取两者之间的毫秒差异以查看它运行了多长时间.通常我只是在页面的跟踪中输出它...所以它有点低保真.这方面的最佳做法是什么?我想过能够将Web应用程序置于某种"诊断"模式并使用我之后的任何内容进行详细的日志记录/事件日志写入,但我想看看stackoverflow hive mind是否有更好的想法.

optimization performance

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

Perforce和SourceSafe可以在Visual Studio中共存吗?

Visual Studio 2008,更具体.我们正在测试转向Perforce进行源代码控制,所以我想安装P4SCC插件来实现.但是,我还想继续将SourceSafe的IDE功能用于尚未移动的项目.这两个可以和平共存,还是一个或另一个特定的VS安装?

version-control perforce visual-sourcesafe visual-studio

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

进程是经典ASP可以存储会话状态的唯一方法吗?

我知道这是一个简单的问题,但我似乎无法将其拖出谷歌噪音.我知道.NET可以使用会话状态服务或SQL数据库来支持其会话状态,但我不知道ASP是否提供了存储它的任何进程外选项.是否有任何问题,或者当负载均衡服务器脱机时,我是否会在ASP应用程序上丢失会话变量?

session asp-classic

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