小编kbr*_*ton的帖子

我什么时候应该使用Localize控件而不是Literal?

我最近在ASP.NET 4.0 MCTS认证课程的实验室中了解了System.Web.UI.WebControls.Localize控件.我不清楚这种控制的目的.

在示例中,Literal控件和Localize控件似乎或多或少是可互换的.检查后,Localize控件似乎继承自Literal,但不提供其他功能.它使用了一个不同的设计器类,在我看来,它比文字的设计器类要差.

所以,让我感到困惑.文字已经可以本地化.什么是Localize控件用于?我应该使用它,在什么情况下?

c# asp.net controls localization

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

OpenID - 人们使用"使用x登录"的体验是什么?

Stack Overflow显然是真正成功实现OpenID的一个很好的例子,但说实话 - 当你的目标用户群像我们这样的极客时,它会更容易一些!我真的很想听听人们在高科技网站之外实施OpenID的经历.

你得到了什么样的回应

  • a)用户?
  • b)统计?

关于OpenID'登录...'登录系统的用户体验?

security openid authentication

15
推荐指数
3
解决办法
448
查看次数

Powershell文件比较

我正在使用PowerShell脚本在某些服务器上移动一些文件.我想测试我要移动的文件是否已存在于目标中.不只是具有相同名称的文件.

我想

Compare-Object $File1 $File2
应该这样做,但无论文件是什么,它总是返回它们是相同的,例如.

InputObject           SideIndicator                              
-----------           -------------                              
D:\1.gif               =>                                         
D:\1.wma               <=    
Run Code Online (Sandbox Code Playgroud)

有没有其他方法来测试两个文件是否相同?

powershell

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

Windows需要单击才能激活窗口,然后第二次单击将选择一个按钮.我怎么能改变这个?

我的应用程序是一个C#Windows窗体应用程序和.Net以某种方式使我的主菜单栏和工具条按钮的默认行为是你必须先点击我的应用程序的窗口(任何地方),然后才能让你点击菜单或工具条按钮.我怎么能改变这个?

像记事本和写字板这样的旧应用程序不会这样做.但是所有的Microsoft Office应用程序都可以.但这太烦人了!

它变得更糟,因为我的应用程序弹出辅助窗口,每次我更换窗口时,我必须首先激活爆破窗口才能做任何事情.啊!

我希望有一些全局方法来改变这种行为,所以我不必单独覆盖许多控件(我没有尝试过).有人知道吗?

请注意,我的应用程序对话框上的控件不会显示这种愚蠢的行为.他们为什么不同?

.net winforms

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

有没有理由在界面中隐藏继承的成员?

我知道从另一个类继承的类可能会使用new关键字隐藏属性.但是,这隐藏了属性的特定实现,因此我可以看到它是如何使用的.

是否有任何实际的理由在实现其他接口的接口中隐藏成员?例如,考虑以下示例.IChildInterface 实施IParentInterface和隐藏PropertyA.

interface IParentInterface
{
    string Name { get; set; }
    int PropertyA { get; set; }
    int PropertyB { get; set; }
}

interface IChildInterface : IParentInterface
{
    int PropertyA { get; set; }
    int PropertyC { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

.net c# polymorphism interface

13
推荐指数
2
解决办法
2686
查看次数

ASP.NET MVC CSRF Anti-Forgery Tokens是否会过期?

我正在ASP.NET MVC 5应用程序中实现CSRF防伪保护.特别是,我在ASP.NET网站上引用Mike Wasson描述的方法来保护响应AJAX请求的控制器方法,例如在WebAPI控制器中.此方法使用AntiForgery.GetTokens方法生成基于用户的加密防伪标记,然后使用AntiForgery.Validate验证提交的标记属于当前用户.

我的问题是:这些令牌是否有生存时间?它们会过期吗?如果有,它们有多长时间有用?文档是关于这个主题的静音.

我不想在我的系统中允许非过期令牌.此外,我希望在请求新令牌之前与客户端通信他们有多少时间.如果需要,我可以使用FormsAuthentication.Encrypt实现过期令牌; 但是,如果在AntiForgery类的方法中已经存在过期,那么我想省去不必要的复杂性.

c# asp.net-mvc csrf asp.net-web-api asp.net-mvc-5

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

Windows窗体:如果文本太长,则在标签上添加新行

我正在使用C#.有时,从Web服务(我在标签中显示)返回的文本太长并且在表单的边缘被切断.是否有一种简单的方法可以在标签上添加换行符,如果它不适合表单?

谢谢

c# winforms

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

什么是HttpContext最完整的模拟框架

我正在寻找尽可能全面的模拟替换和HttpContext我的应用程序中的ASP.NET包装器.全面的模拟替换可能会大大提高ASP.NET Web应用程序的可测试性,而无需将每个应用程序迁移到更易测试的框架(如MVC).

我最感兴趣的是在HttpContext包装器和模拟框架中看到的一些功能包括:

  • 序列化会话存储(例如.Session).
  • 序列化应用程序范围的存储(例如.Application).
  • 按请求项目存储(例如.Items).
  • HttpRequest数据,例如引用,请求Uri,服务器变量,发布数据等.
  • HttpResponse数据,例如状态代码和内容.
  • 本地文件解析(例如Server.MapPath)
  • VirtualPathUtility用于应用程序相对URL路径解析,它依赖于ASP.NET运行时.
  • .User用于验证身份验证/授权规则的标识和主体(例如).
  • AllErrors用于测试HttpModules和中的错误解决方案的集合Global.asax.

我考虑过编写自己的界面,包装和模拟; 但是,我相信这一点必须已经存在.各种模拟框架对于第一次吸收来说有点压倒性.

HttpContext你会推荐什么是最全面的包装和模拟?

asp.net mocking httpcontext wrapper

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

带有前导填充零的SQL标识

我在表格中将列标记为Identity

create table Identitytest(
    number int  identity(1,001) not null,
    value varchar(500)
)
Run Code Online (Sandbox Code Playgroud)

我需要将标识列增加为001,002,003,等等.

数据库显示它正在插入1,2,3等等.

如何才能做到这一点?

sql sql-server padding identity-column

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

Visual Studio 2015 Code Snippet,具有重要的尾随空格

有一段时间我有一个自定义的Visual Studio代码片段来帮助在我的C#源文件中注入版权标题.它看起来像这样:

<CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <Header>
    <Title>File Header</Title>
    <Author>Me</Author>
    <Shortcut>header</Shortcut>
    <Description>Inserts a standard copyright header.</Description>
    <SnippetTypes>
      <SnippetType>Expansion</SnippetType>
    </SnippetTypes>
  </Header>
  <Snippet>
    <Declarations>
      <Literal>
        <ID>FileName</ID>
        <ToolTip>The name of the C# code file.</ToolTip>
        <Default>FileName</Default>
      </Literal>
    </Declarations>
    <Code Language="CSharp"><![CDATA[// -----------------------------------------------------------------------
// <copyright file="$FileName$.cs" company="Company Name">
// Copyright © 2011-2016 by Company Name. All rights reserved.
// </copyright>
// -----------------------------------------------------------------------

]]></Code>
  </Snippet>
</CodeSnippet>
Run Code Online (Sandbox Code Playgroud)

这个问题需要注意的重要事项是CDATA块末尾的两个尾随终端线.在2015年之前的Visual Studio版本中,我可以将光标放在文件的开头,就在第一个使用声明,类型之前header+TAB,我的标题会出现在最后一个注释和第一个使用声明之间的额外空行.

Visual Studio 2015似乎不尊重尾随空格.当我输入时header+TAB,第一个使用声明出现在与最后一个注释相同的行上.

我是在查看错误,还是有办法配置我的代码片段以便Visual Studio 2015能够支持尾随空格?

c# code-snippets visual-studio-2015

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