小编Ric*_*ick的帖子

在SQL Server中存储旧日期的最佳方法

在SQL Server 2005中存储旧日期(1753之前)的最佳/最有效方法是什么?我不关心存储时间 - 只是日期.SQL Server的日期时间数据类型只能保存日期回到1753年1月1日.MSDN文档声明有date和datetime2数据类型,但SQL Server Management Studio似乎不支持它们(错误:无效的数据类型).

将日期存储为"YYYYMMDD"形式的字符串或整数是多么低效?我在表中的两个日期字段(StartDate和EndDate)上进行了大量的查询和排序.

更新:

下面有一些建议将年,月和日期存储在不同的字段中.将零件存储在不同的字段而不是单个整数字段中有什么好处?

sql sql-server datetime sql-server-2005 date

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

从映射的驱动器或共享文件夹运行.NET程序

我编写了一个C#Windows窗体应用程序,用于将一台计算机上的远程文件夹中的文件和文件夹("source"文件夹是映射驱动器 - "Z:\ folder")与另一台计算机上的另一个远程文件夹("目标")合并folder是共享文件夹的UNC路径 - "\\ computername\sharedfolder").我对这两个文件夹都拥有完全权限.当我在本地计算机上运行该程序时,它运行正常,但是当我尝试从源文件夹中运行它时,它会因安全异常而失败.

调用目标文件夹的DirectoryInfo构造函数(即DirectoryInfo(@"\\ computername\sharedfolder")时发生故障.我认为问题是因为我从映射驱动器运行程序.任何解决方法?


具体的例外是:请求类型'System.Security.Permissions.FileIOPermission,mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的权限失败.


UPDATE

好吧,我把我的应用程序放到Visual Studio 2008中(以前编码在2005年),针对.NET 3.5框架,编译并再次尝试.

我得到了完全相同的错误.


更新 - 决议

我尝试使用.NET 3.5,它没有用,然后我注意到你说3.5 SP1.绝对需要服务包.

问题解决了.谢谢.

.net c# unc

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

将iframe设置为远程内容的内容高度

关于如何使您的iframe完全适合您的内容(使用JavaScript)的问题已在论坛上得到解答...... 对于仅显示来自同一域的内容的iframe.

我的问题:当iframe src属性用于包含框架的页面域之外的页面时,是否可以调整iframe的大小以适应内容?围绕跨站点脚本编写的浏览器安全功能阻止我访问iframe的文档对象.

我正在寻找任何有创意的解决方案.我的一个想法是以某种方式检测到在iframe上可见的滚动条,并逐渐增加高度,直到它们没有.不幸的是,我找不到任何方法来检测可见的滚动条.想法?

请注意,我正在寻找客户端解决方案.

对策:


戴夫

问题仍然存在 - 我不知道远程文档的高度,所以我无法从数据库或查询字符串值设置它.


dusoft

100%的CSS不会将其设置为内容的100%的iframe 的iframe,但是相对于页面或含有元素(即一个div或东西).

xss iframe height

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

HTTP ETag是否区分大小写?

我正在创建一个库,用于在Web服务器上处理HTTP上的客户端缓存(即处理If-Match,If-Modified-Since,If-None-Match和If-Unmodified- Since HTTP headers),以及我我正在研究ETags(实体标签).我的问题是ETag是区分大小写还是不区分大小写?我一直在查看RFC 2616(http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)并且没有指定.

我只能假设这意味着他们应该区分大小写,但我想确保我遵循标准.

etag case-sensitive

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

在线程中锁定或尝试捕获字典是否更有效(.NET)

我有一个通用的词典,我用它作为线程.NET项目(C#)中的缓存.我将在字典上进行大量读取(在高峰时间可能每秒数百或更多).

我有一个简单的Get(int id)方法,如果它在缓存中,则返回一个CustomObject,否则返回null.

我的问题:锁定字典更快/更有效,还是只使用try/catch块?

假设字典存储在名为"dic"的变量中.

锁定样本:

public CustomObject Get(int id)
{
   lock(dic)
   {
      if (dic.ContainsKey(id))
         return dic[id];
   }
   return null;
}
Run Code Online (Sandbox Code Playgroud)

试试/抓住样本:

public CustomObject Get(int id)
{
   try
   {
      return dic[id];
   }
   catch
   {
      return null;
   }
}
Run Code Online (Sandbox Code Playgroud)

.net multithreading dictionary locking try-catch

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

方法会影响我的对象的大小吗?

在.NET中,对象中的方法数量或方法大小(即代码量)是否会影响对象在实例化时使用的内存量?

示例:具有3个int属性和1个方法的对象比具有3个int属性和20个方法的对象占用更多内存吗?

如果"是",静态方法会占用更少的内存吗?

请注意:我意识到实际调用方法可能会实例化其他将使用内存的对象或变量 - 我的问题仅仅涉及它们在调用构造函数后使用了多少内存.

.net methods memory-management

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

未使用的方法和属性对库或可执行文件的影响

我正在为C#(.NET)创建一个源代码生成器.生成永不被调用的属性或方法会导致我的代码运行得更慢吗?如何为不使用的库插入"using"语句?

我假设编译器足够聪明,不能构建未使用的"using"语句,但是它没有办法知道属性和方法,因为它们可以插入供外部应用程序使用.

.net c# code-generation

5
推荐指数
2
解决办法
311
查看次数

CSS:居中,流畅左,固定右,源有序布局,最小/最大宽度

标题说明了.我想要一个2列CSS布局:

  • 居中 - 主要内容以页面为中心
  • 具有固定(像素)右列宽度
  • 有一个流体左列 - 用尽所有可用空间减去右列宽度
  • 是源排序 - 左列内容位于HTML源中的右列内容之前
  • 在我的例子中允许最小宽度 - 760px
  • 在我的示例中允许最大宽度 - 1024px

如果窗口大于最大宽度,则内容将以页面的最大值为中心.如果窗口小于最大宽度,则内容将填充页面的100%,除非它小于最小宽度,这将使水平滚动条出现.

我愿意使用一些小的javascript来处理不支持这些属性的浏览器的最小/最大宽度(我正在看你IE6),但我只是愿意让这部分布局降级.

用桌子来简单下降.我已经看了几百个示例布局,没有什么可以做我要问的所有事情,尽管有几个接近.问题似乎是以相同的方式获得流畅的左列和源排序.我已经找到了几个固定的左/右流体(与我想要的相反)的例子,其具有适当的源顺序,或流体左/右固定而没有源顺序,但不是两者.

我不在乎它是否使用浮点数或负边距,但我想避免绝对定位.

+---------------------------------------+
|                                       |
|  +---------------------------+-----+  |
|  |fluid                      |fixed|  |
|  |                           |     |  |
|  |                           |     |  |
|  +---------------------------+-----+  |
|                                       |
+---------------------------------------+
Run Code Online (Sandbox Code Playgroud)

css elasticlayout liquid-layout fluid-layout

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

在Visual Studio 2013中的两个窗口中打开.aspx文件

我正在尝试在Visual Studio 2013的两个单独的窗口/选项卡中打开一个大.aspx文件的源视图。此文件类型的“窗口>新窗口”选项显示为灰色。

我可以使用其他文件类型执行此操作,包括.cs,.css,.js等。

我曾尝试在单个Visual Studio会话打开文件的两个实例(包括注册表编辑和自定义键盘快捷键)中的建议,但均未成功。是否有针对.aspx文件的特定注册表黑客或其他解决方案?

只是为了澄清,我不是要“拆分”文件。我的最终目标是在不同的垂直选项卡组中打开文件的两个副本。

asp.net new-window visual-studio-2013

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

Session_Start()如何在服务器场中运行?

OnSessionStart/Session_Start事件是否仍然只在服务器场环境中触发一次(总计),或者由于请求由多个服务器处理,每个服务器可以触发一次吗?

ASP.NET/IIS6或7

它应该假定服务器使用粘性会话.

asp.net session load-balancing web-farm

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

带有方括号的mySQL Regexp

我试图在mySQL的列中匹配像'[sometext <someothertext>]'(即左方括号,文本,左尖括号,文本,右尖括号,右方括号)之类的字符串.最初我使用了以下查询(请注意,由于regex查询在mySQL中被转义两次,因此必须使用两个反斜杠,通常使用一个反斜杠):

SELECT * FROM message WHERE msgtext REGEXP '\\[(.+)?<(.+)?>\\]'
Run Code Online (Sandbox Code Playgroud)

此查询没有收到任何错误,但它返回了我不想要的内容.而不是(.+),我想要[^ \]](匹配除了右方括号之外的所有内容).当我更改查询时,我收到以下错误:"从regexp获取错误'重复 - 运算符操作数无效'

在阅读了这里的mySQL文档之后,它指出"要包括一个文字"字符,它必须紧跟在开头括号[." 因为我想要"^ \]"而不是"]",这是否可能,因为括号不能是开括号之后的第一个字符?以下是我尝试过的一些查询,它们会出现上面列出的相同错误:

SELECT * FROM message WHERE msgtext REGEXP '\\[([^\\]]+?)<([^\\]]+?)>\\]'
SELECT * FROM message WHERE msgtext REGEXP '\\[[^\\]]+?<[^\\]]+?>\\]'
SELECT * FROM message WHERE msgtext REGEXP '\\[[^[.right-square-bracket.]]]+?<[^[.right-square-bracket.]]]+?>\\]'
Run Code Online (Sandbox Code Playgroud)

更新:

以下查询运行没有错误,但不返回任何行,即使我知道有匹配我要查找的列(基于我在顶部的原始查询):

SELECT * FROM message WHERE msgtext REGEXP '\\[([^\\]]+)?<([^\\]]+)?>\\]'
Run Code Online (Sandbox Code Playgroud)

regex mysql square-bracket

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

用户单击浏览器的后退按钮时阻止回发

我有一个网页,可以向多个用户发送电子邮件(在线分发列表).单击提交按钮并发送电子邮件后,将显示状态页面,其中列出已发送的电子邮件数,错误和其他信息.如果用户单击后退按钮,则会重新发送电子邮件.我怎么能阻止这个?

注:浏览器就提示用户"重新提交"或实际发送电子邮件之前"重新发送"数据页面,但不会从单击它,然后不知道为什么邮件的两个副本共出动停止我的用户.

环境:

  • 服务器:C#,ASP.NET 2.0,IIS6
  • 客户端:任何浏览器(我不想要像SmartNavigation这样的特定于IE的解决方案)

asp.net postback back-button

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

SELECT DISTINCT不在.NET应用程序中工作,但在SQL Mgmt Studio中工作

我有一个Web应用程序,我在两个连接表上调用SELECT DISTINCT查询.如果我尝试从网页运行查询,我会收到以下错误:"text,ntext或image数据类型不能被选为DISTINCT".当我从SQL Management Studio中运行它时,查询运行正常 - 没有错误.更有趣的是,任何一个表中都没有text,ntext或image数据类型.

应该注意的是,我正在逐步执行代码,并且在执行查询之前,我正在将查询从"监视"窗口复制到Mgmt Studio中,当我单步执行并让.NET运行时,它会运行它,错误被抛出.我正在使用.NET 2和System.Data.SqlClient命名空间.

这是我的查询:

SELECT DISTINCT ResponseFormParent.* 
FROM ResponseFormParent 
INNER JOIN ResponseForm 
  ON ResponseFormParent.ResponseFormParentId = ResponseForm.ResponseFormParentId 
WHERE ResponseForm.RegistrationDeadline >= '5/1/2009'
Run Code Online (Sandbox Code Playgroud)

ResponseFormParent有3个整数,1个日期时间和1个nvarchar(50).ResponseForm有4个整数,1个日期时间,1个位和1个nvarchar(255).

是什么导致了这个问题?这个错误没有意义.


更新:调用查询的代码

public DataSet ExecuteQuery(string sql)
{
 DataSet ds = null;
 try
 {
  using (SqlConnection dbconn = new SqlConnection(connectionString))
  using (SqlCommand dbcmd = new SqlCommand(sql, dbconn))
  {
   SqlDataAdapter dbadapter = new SqlDataAdapter(dbcmd);
   ds = new DataSet();
   dbadapter.Fill(ds);
  }
 }
 catch (Exception ex)
 {
  Utility.LogError(sql, ex);
 }
 return ds;
}
Run Code Online (Sandbox Code Playgroud)

.net sql t-sql sql-server-2000

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