小编Lia*_*ath的帖子

如果我删除自动添加的supportedRuntime元素会怎样?

我有我的项目目标4.0.我将其更新为4.5并添加了VS.

<startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
</startup>
Run Code Online (Sandbox Code Playgroud)

除了改变TargetFrameworkVersion之外,我很好奇这是多余的.我的理解是,如果运行时没有找到supportedRuntime,它会使用用于构建exe的.net版本.所以在这种情况下,exe是使用4.5构建的,它也说使用4.5.无论我是否拥有此功能,它的行为都会有所不同,并在只有4.0的机器上运行吗?

.net

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

如何返回HTTP 429?

我正在使用WCF实现API,规范说在某些情况下返回HTTP 429.

通常我会写:

throw new WebFaultException(HttpStatusCode.NotFound);
Run Code Online (Sandbox Code Playgroud)

但是HttpStatusCode枚举不包含429.

我显然可以演绎到枚举

throw new WebFaultException((HttpStatusCode)429);
Run Code Online (Sandbox Code Playgroud)

但是我担心这不会给调用我的API的应用程序产生正确的结果.

创建扩展HttpStatusCode并发送有效(但不支持)的HTTP状态的最佳方法是什么?

c# wcf http http-status-code-429

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

如何在FluentAssertions中使用Exclude来获取集合中的属性?

我有两节课:

public class ClassA
{
  public int? ID {get; set;}
  public IEnumerable<ClassB> Children {get; set;}
}

public class ClassB
{
  public int? ID {get; set;}
  public string Name {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我想使用流畅的断言来与ClassA实例进行比较.但是我想忽略ID(因为ID将在保存后分配).

我知道我可以这样做:

expectedA.ShouldBeEquivalentTo(actualA, options => options.Excluding(x => x.PropertyPath == "Children[0].ID"));
Run Code Online (Sandbox Code Playgroud)

对于集合中的每个ClassB,我显然可以重复这一点.但是我正在寻找一种方法来排除所有ID(而不是对每个元素进行排除).

我已经读过这个问题但是如果我删除了[0]索引器,断言就会失败.

这可能吗?

c# unit-testing fluent-assertions

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

正则表达式中的私有IP地址标识符

我想知道这是否是匹配以私有IP地址(Perl风格的Regex)开头的字符串的最佳方式:

(^127\.0\.0\.1)|(^192\.168)|(^10\.)|(^172\.1[6-9])|(^172\.2[0-9])|(^172\.3[0-1])
Run Code Online (Sandbox Code Playgroud)

非常感谢!

regex private ip-address

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

ASP.Net身份手册密码哈希

我正在使用Entity Framework Database First方法和现有数据库开发MVC 5 Web应用程序.

我也使用ASP.Net Identity进行授权和身份验证,但是,我没有使用内置的Entity Framework代码,即UserManager,ApplicationUser等,而是我使用的方法与Brock Allen类似.

http://brockallen.com/2013/10/24/a-primer-on-owin-cookie-authentication-middleware-for-the-asp-net-developer/

我现在正在进行帐户登录和注册,我想在将用户密码存储到自定义用户表之前对其进行哈希处理.

我意识到我可以创建自己的自定义类来实现IPasswordHasher,但是,这就是我陷入困境的地方.下面显示了我认为它应该如何工作的模拟,但是,我并不完全确定这是正确的.

public class CustomPassword : IPasswordHasher
{
    public string HashPassword(string password)
    {
        return password;
    }

    public PasswordVerificationResult VerifyHashedPassword(string hashedPassword, string providedPassword)
    {
        if (hashedPassword.Equals(providedPassword))
            return PasswordVerificationResult.Success;
        else return PasswordVerificationResult.Failed;
    }
}
Run Code Online (Sandbox Code Playgroud)

这些是我的问题:

Q1:当我注册一个新的用户帐户并将我的帐户控制器中的用户密码传递给HashPassword方法时,我希望将用户密码哈希并作为字符串返回,但是,我不知道要放什么代码进入HashPassword 函数来做到这一点.

CustomPassword pwd = new CustomPassword();
String UserPassword = "test@123";
String HashedNewPassword = pwd.HashPassword(UserPassword);
Run Code Online (Sandbox Code Playgroud)

Q2:当用户登录网站时,我想提取他们提供的密码,从数据库用户表中检索哈希密码,然后在 …

c# password-protection asp.net-mvc-5 asp.net-identity

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

moq只有一个类中的一个方法

我正在使用moq.dll当我模拟一个类(所有的IRepository接口)时,我使用这个行代码

   int state = 5;
   var rep = new Mock<IRepository>();
   rep.Setup(x => x.SaveState(state)).Returns(true);
   IRepository repository = rep.Object;
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,我模拟了存储库类中的所有函数.然后,类库中的所有方法都被Mock dll的方法设置所取代

我想使用类库中定义的所有方法(真正的类)并且只模拟一个函数(SaveState)

我怎样才能做到这一点?有可能吗?

c# moq

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

我如何将string []转换为list <int>?

我如何将字符串数组转换为int列表?(不用我自己的方法逐个转换它们)

从谷歌搜索我看到名为ToList()和ConvetAll()的方法,但我不能输入它们,为什么会这样?

我试过的是:

new list<int>((int[])s.Split(','));

我收到错误,我不能将字符串[]转换为int [] :(

c# arrays

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

如何按属性对XDocument进行排序?

我有一些XML

<Users>
    <User Name="Z"/>
    <User Name="D"/>
    <User Name="A"/>
</User>
Run Code Online (Sandbox Code Playgroud)

我想按名字排序.我使用加载xml XDocument.如何查看按名称排序的xml?

c# sorting linq-to-xml

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

尝试附加数据库失败,因为它是版本782

我最近重新安装了Windows,并尝试使用现有数据库再次设置SQL Server.我已经尝试安装SQL Server 2012和2014,并不断得到相同的错误.该错误表明数据库是版本782,此版本的SQL Server仅与706及更低版本兼容.我在SQL Server 2012和2014都遇到了这个错误.我认为2014年与782+兼容.任何人都可以提供一些有关如何附加该死的数据库的指导吗?失意...

来自SQL Server 2014的图片..

而且需要注意的是,我在2012年遇到了同样的错误.在重新安装操作系统之前,一切都正常运行.

这是来自SQL Server 2014

sql-server

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

C#类名以I开头

我正在写一个名字以I开头的类(因为这是我们正在整合的产品的名称 - 不能改变).

惯例声明类名具有开头的大写字母,但在这种情况下,它将在消费者看来是一个界面.

是否有任何文档指导开发人员正确的方法?此外,如果我确实需要实现和接口会发生什么 - 它应该是IiProduct/IIProduct吗?

编辑添加:

我出于显而易见的原因无法提及该产品,但它遵循与apple相同的大写惯例.iPhone,因此IPhoneClass(跟随他们的品牌,但作为一个界面出现)而不是IphoneClass(遵循惯例而不是品牌).

c# interface naming-conventions

11
推荐指数
2
解决办法
4632
查看次数