小编Ben*_*old的帖子

如何在本地系统帐户下运行CMD.exe?

我目前正在运行Vista,我想手动完成与Windows服务相同的操作.由于Windows服务在本地系统帐户下运行,我想模仿这种相同的行为.基本上,我想在本地系统帐户下运行CMD.EXE.

我在网上找到了建议使用DOS任务计划程序AT命令发送CMD.exe的信息,但是我收到了Vista警告"由于安全性增强,此任务将在除外但不交互的情况下运行".这是一个示例命令:

AT 12:00 /interactive cmd.exe
Run Code Online (Sandbox Code Playgroud)

另一个解决方案建议通过服务控件(sc.exe)创建辅助Windows服务,该服务仅启动CMD.exe.

C:\sc create RunCMDAsLSA binpath= "cmd" type=own type=interact
C:\sc start RunCMDAsLSA
Run Code Online (Sandbox Code Playgroud)

在这种情况下,服务无法启动并导致以下错误消息:

FAILED 1053: The service did not respond to the start or control request in a timely fashion.
Run Code Online (Sandbox Code Playgroud)

第三个建议是通过计划任务启动CMD.exe.虽然您可以在各种帐户下运行计划任务,但我不认为本地系统帐户是其中之一.

我也尝试过使用Runas,但是我认为我遇到了与运行计划任务时相同的限制.

到目前为止,我的每一次尝试都以失败告终.有什么建议?

windows-services user-accounts

139
推荐指数
5
解决办法
30万
查看次数

部分类文件的命名约定

我正在生成大量的ASP.NET MVC脚手架代码.所有生成的文件都是使用标准命名约定的部分类.例如,我的员工控制器文件名为EmployeeController.cs.如果我希望使用自定义的非生成逻辑扩展EmployeeController,我将创建一个名为EmployeeControllerCustom.cs的第二个部分类文件.我将自定义和生成的逻辑分成两个不同的文件,因此下次生成EmployeeController时,我的自定义更改不会被覆盖.将"自定义"后缀添加到文件名对我来说似乎是合理的,但是我是否应该遵循更成熟的部分类文件命名约定?

c# code-generation naming-conventions partial-classes

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

抑制XmlSerializer发出的空值类型

请考虑以下Amount值类型属性,该属性标记为可为空的XmlElement:

[XmlElement(IsNullable=true)] 
public double? Amount { get ; set ; }
Run Code Online (Sandbox Code Playgroud)

当可空值类型设置为null时,C#XmlSerializer结果如下所示:

<amount xsi:nil="true" />
Run Code Online (Sandbox Code Playgroud)

我希望XmlSerializer能够完全抑制元素,而不是发出这个元素.为什么?我们使用Authorize.NET进行在线支付,如果存在此null元素,Authorize.NET会拒绝该请求.

当前的解决方案/解决方法是根本不序列化Amount值类型属性.相反,我们创建了一个互补属性SerializableAmount,它基于Amount而是序列化的.由于SerializableAmount的类型为String,默认情况下,如果默认为null,则XmlSerializer会抑制类似引用类型的引用类型,一切都很有效.

/// <summary>
/// Gets or sets the amount.
/// </summary>
[XmlIgnore]
public double? Amount { get; set; }

/// <summary>
/// Gets or sets the amount for serialization purposes only.
/// This had to be done because setting value types to null 
/// does not prevent them from being included when a class 
/// is being serialized.  When a nullable value type is …
Run Code Online (Sandbox Code Playgroud)

c# xml xml-serialization

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

SQL Server是否提供类似MySQL的ON DUPLICATE KEY UPDATE

在MySQL中,如果指定ON DUPLICATE KEY UPDATE且插入的行将导致UNIQUE索引或PRIMARY KEY中出现重复值,则执行旧行的UPDATE.例如,如果列a声明为UNIQUE并包含值1,则以下两个语句具有相同的效果:

INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE c=c+1;

UPDATE table SET c=c+1 WHERE a=1;
Run Code Online (Sandbox Code Playgroud)

我不相信我在T-SQL中遇到过类似的东西.SQL Server是否提供了与MySQL的ON DUPLICATE KEY UPDATE相当的东西?

mysql t-sql sql-server

56
推荐指数
3
解决办法
5万
查看次数

在C#中引发异常的最佳方法是什么?

我传统上部署了一组网页,允许手动验证核心应用程序功能.一个例子是LoggerTest.aspx,它生成并记录测试异常.我总是选择使用类似于以下代码段的方法来引发DivideByZeroException:

try
{
   int zero = 0;
   int result = 100 / zero;
}
catch (DivideByZeroException ex)
{
   LogHelper.Error("TEST EXCEPTION", ex);
}
Run Code Online (Sandbox Code Playgroud)

代码工作正常,但我觉得必须有一个更优雅的解决方案.有没有一种在C#中引发异常的最佳方法?

c# exception

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

C#String.Format()在PHP中是否相同?

我正在构建一个相当大的Lucene.NET搜索表达式.是否有最佳实践方法在PHP中进行字符串替换?它不一定是这种方式,但我希望有类似于C#String.Format方法的东西.

这是C#中逻辑的样子.

var filter = "content:{0} title:{0}^4.0 path.title:{0}^4.0 description:{0} ...";

filter = String.Format(filter, "Cheese");
Run Code Online (Sandbox Code Playgroud)

是否有PHP5等价物?

php c#

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

如何在Silverlight中提供文本框焦点?

在我的Silverlight应用程序中,我似乎无法将焦点带到TextBox控件.在各种帖子的推荐下,我将IsTabStop属性设置为True,我使用的是TextBox.Focus().虽然UserControl_Loaded事件正在触发,但TextBox控件没有获得焦点.我在下面包含了我非常简单的代码.我错过了什么?谢谢.

Page.xaml

<UserControl x:Class="TextboxFocusTest.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Loaded="UserControl_Loaded" 
    Width="400" Height="300">

    <Grid x:Name="LayoutRoot" Background="White">        
        <StackPanel Width="150" VerticalAlignment="Center">            
            <TextBox x:Name="RegularTextBox" IsTabStop="True" />    
        </StackPanel>        
    </Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

Page.xaml.cs

using System.Windows;
using System.Windows.Controls;

namespace PasswordTextboxTest
{
    public partial class Page : UserControl
    {
        public Page()
        {
            InitializeComponent();
        }

        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            RegularTextBox.Focus();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

silverlight textbox focus

32
推荐指数
3
解决办法
4万
查看次数

UserVoice的替代客户反馈?

我们目前正在托管一个ASP.NET MVC应用程序,我们希望采用一个交钥匙的客户反馈系统. UserVoice绝对会满足我们的需求,但我们希望在继续前进之前考虑其他选择. GetSatification似乎提供了一个类似的模型.还有其他我们应该考虑的服务吗?

asp.net-mvc feedback user-feedback

29
推荐指数
2
解决办法
8975
查看次数

应该何时使用与二进制引用相对的项目引用?

我的公司有一个公共代码库,它包含许多类库项目以及支持测试项目.每个类库项目都输出一个二进制文件,例如Company.Common.Serialization.dll.由于我们拥有经过编译,测试的二进制文件以及源代码,因此我们的消费应用程序是否应该使用二进制或项目引用存在争议.

一些支持项目引用的论据:

  • 项目引用将允许用户调试和查看所有解决方案代码,而无需加载其他项目/解决方案.
  • 项目参考将有助于跟上提交给源控制系统的常见组件更改,因为在没有活动解决方案的情况下可以轻松识别更改.

一些赞成二进制引用的论据:

  • 二进制引用可简化解决方案并缩短解决方案加载时间.
  • 二进制引用将允许开发人员专注于新代码,而不是可能被已经烘焙并证明稳定的代码分散注意力.
  • 二进制引用会迫使我们适当地哄骗我们的东西,因为我们将使用公共库,就像我们组织之外的那些人需要做的那样.
  • 由于无法调试二进制引用(步入),因此必须通过扩展现有测试项目而不是仅在使用应用程序的上下文中进行测试和修复来强制复制和修复问题.
  • 二进制引用将确保类库项目上的并发开发对消费应用程序没有影响,因为将引用二进制文件的稳定版本而不是流入版本.如有必要,项目负责人是否决定是否合并更新版本的组件.

在使用项目或二进制引用时,您的策略/偏好是什么?

standards coding-style

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

将SQL Server实例配置为(本地)

我们的开发团队的每个成员都有一个应用程序数据库的副本,该数据库运行在SQL Server 2008 Enterprise SP1的本地版本上.每个人都可以通过在他们的web.config文件中指定他们的服务器和实例名来访问数据库,但为了最好地共享我们的web.config文件的开发者版本,我们通过使用集成安全性和设置服务器标准化了连接字符串的通用性财产到(当地).这种策略适用于大多数64位Windows 7计算机,但在少数情况下(本地)无法识别.我们通过SQL Server配置管理器比较了设置(即确保启用了命名管道协议),并且我们尝试通过SQL Server客户端网络实用程序设置"(本地)"别名,但我们没有任何运气.为了在我们的连接字符串中使用(本地)需要做什么?

sql-server connection-string local

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

在TeamCity 5.1通知中显示文件更改

我想在TeamCity 5.1电子邮件通知中包含已更改文件的列表,该列表在成功或失败的构建后发送给我的团队.我已经查看了TeamCity 5.1文档中的自定义通知,我查看了config\_notifications\email文件夹中的.ftl模板文件,但是我没有找到可用模板变量或备用模板样本的列表.我能够在TeamCity的早期版本中包含已更改文件的列表(我认为它被称为"使用文件进行更改"),但我对使用TeamCity 5.1没有任何好运.有任何想法吗?

teamcity notifications

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

C#InvalidCastException虽然是相同的基类

以下代码抛出InvalidCastException.

public static MachineProductCollection MachineProductsForMachine(
    MachineProductCollection MachineProductList, int MachineID)
{
    return (MachineProductCollection)
        MachineProductList.FindAll(c => c.MachineID == MachineID);
}
Run Code Online (Sandbox Code Playgroud)

这让我感到惊讶,因为MachineProductCollection只是一个通用的MachineProducts列表,正是FindAll()应该返回的.这是完整的MachineProductCollection源代码.您将注意到它只是List的包装器.

[Serializable]
public partial class MachineProductCollection :
        List<MachineProduct>
{
    public MachineProductCollection() { }
}
Run Code Online (Sandbox Code Playgroud)

我使用了以下内容,它基本上循环遍历FindAll()类型为List的结果,并将每个项目添加到我的MachineProductCollection中.显然,我不喜欢所需的迭代.

public static MachineProductCollection
    MachineProductForMachine(MachineProductCollection
    MachineProductList, int MachineID)
{
    MachineProductCollection result =
        new MachineProductCollection();


    foreach (MachineProduct machineProduct in
        MachineProductList.FindAll(c => c.MachineID == MachineID))
    {
        result.Add(machineProduct);
    }

    return result;
}
Run Code Online (Sandbox Code Playgroud)

文档指出在显式引用转换期间发生故障时抛出InvalidCastException.参考转化是从一种参考类型到另一种参考类型的转换.虽然它们可能会更改引用的类型,但它们永远不会更改转换目标的类型或值.将对象从一种类型转换为另一种类型是此异常的常见原因.

考虑List是MachineProductCollection的基础,这真的应该是InvalidCastException吗?

c# generics exception

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

正则表达式允许15分钟增量的小时数

我需要一个正则表达式,它限制从0到24的小时输入,其中分数是.25的倍数.请记住必须满足以下条件:

  • 当整个部分为0-23时,小数部分可以是.0,.25,.5或.75
  • 当整个部分是24时,小数部分可以是.0
  • 当不存在整个部分时,小数部分必须是.0,.25,.5或.75
  • 不允许使用空字符串

我非常有信心可以收紧以下表达,但这是迄今为止的情况:

(^(([0-9])|(1[0-9])|(2[0-3]))(\.((0*)|(250*)|(50*)|(750*)))?$)|(^24(\.0*)?$)|(^\.((0+)|(250*)|(50*)|(750*))$)
Run Code Online (Sandbox Code Playgroud)

更新:正则表达式验证存在于客户端(javascript)和服务器(asp.net,c#)上.

javascript regex asp.net

0
推荐指数
2
解决办法
1518
查看次数