小编Dsc*_*duc的帖子

在ToString()之前检查null

这是场景......

if (entry.Properties["something"].Value != null)
  attribs.something = entry.Properties["something"].Value.ToString();
Run Code Online (Sandbox Code Playgroud)

虽然有效且正常工作,但这看起来很难看.如果我在执行ToString()之前没有检查null,那么如果属性为null,则抛出异常.有没有更好的方法来处理这种情况?

非常感激!

.net c# string properties

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

如何检查web.config中是否启用了Debug

我有一些来自VB.NET 1.1天的代码,它允许我动态检查是否在web.config中启用了Debug.我想为什么如果我可以让网络管理员启用调试,重新发明打开/关闭日志记录的轮子.这是我在VB.NET中使用的代码,它运行得很好:

ConfigurationSettings.GetConfig("system.web/compilation").Debug.ToString()
Run Code Online (Sandbox Code Playgroud)

当我想将它转换为C#并在.NET 3.5中使用它时遇到了一些麻烦,它无法正常工作.另外,我想使用ConfigurationManager.GetSection的新构造.任何人都可以建议如何最好地阅读system.web/compilation/debug=true|false价值?

非常感激!

c# asp.net debugging

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

动态设置appender文件路径的最佳方法

我试图找到比我聪明的人来验证我写的一些语法.我的想法是将RollingFileAppender的文件名配置为程序集的名称,以使其更适用于我的项目.

我已经看过这篇以前的SO文章,但它并不完全能够回答我的问题......

我有一段时间试图理解Log4net的内部组件,这就是我提出的(驻留在Global.asax文件中 - Application_Start方法):

// Bind to the root hierarchy of log4net
log4net.Repository.Hierarchy.Hierarchy root = 
  log4net.LogManager.GetRepository() 
    as log4net.Repository.Hierarchy.Hierarchy;

if (root != null)
{
  // Bind to the RollingFileAppender
  log4net.Appender.RollingFileAppender rfa = 
    (log4net.Appender.RollingFileAppender)root.Root.GetAppender("RollingLogFileAppender");

  if (rfa != null)
  {
    // Set the file name based on the assembly name
    string filePath = 
      string.Format("~/App_Data/{0}.log", GetType().Assembly.GetName().Name);

    // Assign the value to the appender
    rfa.File = Server.MapPath(filePath);

    // Apply changes to the appender
    rfa.ActivateOptions();
  }
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我,"这很可怕",或者"这应该可以正常工作"?另外,如果我动态设置文件,我仍然可以期望log4net行为根据log4net.config文件设置旋转文件吗?

非常感激!

c# log4net

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

创建重定向到另一个URL的WordPress页面

我想创建一个新的WordPress页面,它实际上是指向另一个站点的链接.目标是让页面显示在我的页面列表中,但实际上是将Web用户发送到目标URL.

例如,假设我想要包含一个指示"我的照片"的页面,但实际上将它们重定向到Flickr.

我猜测实现这一目标的一种方法是在PHP中使用带有重定向指令的自定义模板页面,但遗憾的是我是PHP的新手并且不熟悉实现此目的的方法...

php wordpress

31
推荐指数
4
解决办法
11万
查看次数

SVN存储库的Windows备份

我在Windows Server上运行SVN服务器,并希望安排自动备份过程.我将永远是唯一一个在存储库上工作的人.我应该打扰hotcopy还是可以使用简单的Windows备份应用程序来备份存储库?xcopy或robocopy怎么样?

svn windows backup

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

用于JavaScript/VBScript的Visual Studio项目模板?

有没有人幸运地为JavaScript和/或VBScript找到Visual Studio项目模板?我想使用VS作为我的脚本IDE,但对缺乏集成感到沮丧.

我希望别人和我一样沮丧并且已经想出了解决方案.

javascript vbscript visual-studio

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

为什么在生产中使用MakeCert工具制作的证书不好?

我目前正在开发一个项目,我已经为该CA证书创建了CA证书和几个子证书.这些证书将用于保护SAMLV2设置中的服务器间通信,因此我将获得身份提供者的证书和服务提供者的证书.用户/浏览器不会验证证书,因此只有服务器需要信任我的自定义CA. 我的证书树看起来像这样:

  • CustomRootCACert
    • CustomIdentityProviderCert
    • CustomServiceProviderCert

现在,我听到很多人说在生产中使用自制证书是不好的.但是,当我问为什么时,人们通常会嘀咕一些关于安全性但却从不详细说明.是否有任何技术原因不在生产中使用我自己的证书?我想不出任何......当然我意识到,如果我失去了对我的根证书的控制,任何人都可以开始创建各种证书.但在这种情况下,他们还必须在我的服务器上安装证书并配置saml应用程序以使用它们.只有这样他们才能开始生成假的saml请求和对我的应用程序的响应.

如果这是唯一的问题,这个解决方案(在生产中使用自制的证书)仍然会比我们今天的登录设置更好.

security ssl certificate certificate-authority saml

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

如何清除Active Directory中的用户对象属性?

假设您使用simiple语法连接到Active Directory:

string adPath = "LDAP://server.domain.com/CN=John,CN=Users,dc=domain,dc=com";
DirectoryEntry userEntry = Settings.GetADEntry(adPath);
Run Code Online (Sandbox Code Playgroud)

现在您要查看该用户的属性,例如mail属性:

Console.WriteLine("User's mail attribute is " + userEntry.Properties["mail"]);
Run Code Online (Sandbox Code Playgroud)

现在我该如何删除邮件属性值?

c# active-directory

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

使用MemoryStream写出XML

我注意到有两种不同的方法可以将数据写入XML文件(为简洁起见,省略了错误处理).

第一种方法是构建XML文档,然后将XML保存到文件中:

using (XmlWriter writer = XmlWriter.Create(fileName))
{
    writer.WriteStartDocument(true);
    writer.WriteStartElement("parentelement");
    writer.WriteEndElement();
    writer.WriteEndDocument();
}
Run Code Online (Sandbox Code Playgroud)

第二种方法是创建MemoryStream,然后将MemoryStream保存到文件中:

XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
MemoryStream ms = new MemoryStream();
using (XmlWriter writer = XmlWriter.Create(ms, settings))
{
    writer.WriteStartDocument(true);
    writer.WriteStartElement("parentelement");
    writer.WriteEndElement();
    writer.WriteEndDocument();
}

using (FileStream fs = File.Open(fileName, FileMode.Create, FileAccess.Write))
{
    ms.WriteTo(fs);
    ms.Dispose();
}
Run Code Online (Sandbox Code Playgroud)

我猜测使用MemoryStream的逻辑是确保在尝试保存文件之前可以构建XML文件.在将条目添加到XML文件中时,MemoryStream方法是否会提供Atomic写入事件和/或防止写入问题?

任何人都可以解释这是否真的有必要或只是一种过度杀戮的方式来添加不必要的代码行到我的项目?

c# xml memorystream

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

基于订阅的软件:它有用吗?

不久前,我曾与一家销售专业软件产品的软件公司合作.他们经常会免费发布一个补丁和一个需要升级费用的新版本.这通常是软件行业的工作方式.

一段时间后,该公司决定采用基于订阅的新软件策略.对于软件公司而言,这是对软件执行的每个"交易"收取少量增量费用的一种方式.在这种模式下,补丁和升级包含在每笔/交易费用中,为了收取费用,每隔一段时间交易的数量都是"真实的".

对我来说,这似乎是开发和销售软件的更好方法.软件公司获得持续的收入流,客户不必担心升级成本等,如果客户变得非常大,那么您的收入流随着增长而增长.

问题(以及这个问题的原因)是我不再看到有人这样做了.是因为这个模型不起作用吗?在没有看到这个模型的一些消极方面的情况下,我是否对开发和销售软件过于简单化了?

[编辑]我对开发人员对编写基于订阅的软件是否是开发软件的好方法的看法感兴趣.

所以这个问题针对的是那些从事商业应用的专业开发人员: 任何人都可以谈论这个模型的经验以及它为什么会起作用/不起作用?

subscription

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