小编Vad*_*kov的帖子

StringSplitOptions.RemoveEmptyEntries不像宣传的那样工作

我过去曾经多次遇到这个问题,并最终决定找出原因.

StringSplitOptions.RemoveEmptyEntries会建议删除空条目.

那么为什么这个测试失败了呢?

var tags = "One, Two, , Three,   Foo Bar, , Day    , ";

var tagsSplit = tags.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
    .Select(s => s.Trim());

tagsSplit.ShouldEqual(new string[] {
    "One",
    "Two",
    "Three",
    "Foo Bar",
    "Day"
});
Run Code Online (Sandbox Code Playgroud)

结果:

  Values differ at index [2]
  Expected string length 5 but was 0. Strings differ at index 0.
  Expected: "Three"
  But was:  <string.Empty>
Run Code Online (Sandbox Code Playgroud)

所以它失败了,因为"Three"我们有一个空字符串 - 确切地说StringSplitOptions.RemoveEmptyEntries应该防止它.

.net c# string split

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

在ASP.NET Core中,如何检查请求是否是本地的?

在常规ASP.NET中,您可以在视图中执行此操作以确定当前请求是否来自localhost:

HttpContext.Current.Request.IsLocal

但我无法在ASP.NET 6/Core /中找到类似的内容.

c# asp.net-core

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

无法使用通过VS2010发布在Windows Azure上发布网站

当我尝试通过Visual Studio 2010在Windows Azure上发布我的Web应用程序时,我遇到了这个问题.我正在尝试通过右键单击项目并选择发布和导入从Windows Azure平台下载的发布配置文件.

我收到此错误:

错误1 Web部署任务失败.(无法连接到远程计算机("waws-prod-am2-001.publish.azurewebsites.windows.net").在远程计算机上,确保安装了Web Deploy并且确保了所需的进程("Web管理服务" ")已启动.请访问http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE了解详情.)0 0 MeraSungard

azure azure-deployment

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

带有"动态"参数名称的IN语句的Dapper AddDynamicParams

我有这样简单的SQL字符串:

"SELECT * FROM Office WHERE OfficeId IN @Ids"
Run Code Online (Sandbox Code Playgroud)

问题是@Ids名称是在编辑器中输入的,所以它可以是任何东西,我的问题是如果我想传入,比如一个整数数组,它只适用于Dapper如果我使用:

var values = new DynamicParameters();
values.AddDynamicParams(new { Ids = new[] { 100, 101 } });
Run Code Online (Sandbox Code Playgroud)

但这需要我知道参数名称是什么Ids,而在我的场景中并非如此.

我可以在Dapper中设置一个"动态参数",其名称为"动态",如下所示:

var values = new DynamicParameters();
values.Add("Ids", new[] { 100, 101 });
Run Code Online (Sandbox Code Playgroud)

但是,然后Dapper不IN (....)为每个值构造具有单独参数的SQL.

有没有办法构建传入的动态对象,AddDynamicParams但事先设置成员名称和值而不知道名称?

我可以修改Dapper源以适应我的场景,但如果有人知道一个更简单和优雅的解决方案,我会很高兴!

c# c#-4.0 dapper

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

动态订单方向

我编写一个SP作为参数列接受排序和方向.

我不想使用动态SQL.

问题是设置方向参数.

这是部分代码:

SET @OrderByColumn = 'AddedDate'
SET @OrderDirection = 1;

…

ORDER BY 
    CASE WHEN @OrderByColumn = 'AddedDate' THEN CONVERT(varchar(50), AddedDate)
        WHEN @OrderByColumn = 'Visible' THEN CONVERT(varchar(2), Visible)
        WHEN @OrderByColumn = 'AddedBy' THEN AddedBy
        WHEN @OrderByColumn = 'Title' THEN Title    
    END
Run Code Online (Sandbox Code Playgroud)

sql sql-server stored-procedures case sql-order-by

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

jsRender和jsViews之间的区别

所以jQuery模板永远不会超过beta,jsRenderjsViews应该填补空白.我查看了Boris Moore此页面上发布的示例,但我没有区分jsRender和jsViews.此外,鲍里斯在另一个例子中使用了一个来增加混乱.所以问题是他们中的两个如何相关(或不同)?

javascript jquery jquery-templates jsrender jsviews

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

格式化CSS时防止缩进

在Visual Studio 2013中,当我格式化CSS代码(Ctrl+ K+ F)时,它有时会将我的CSS属性缩进到层次结构中.

例如:

.a {颜色:红色; } .b.*{color:blue; }

变为:

.a { color:red; }
.a .b {color:blue; }
Run Code Online (Sandbox Code Playgroud)

当我更喜欢:

.a {
  color:red;
}

   .a .b {
     color:blue;
   }
Run Code Online (Sandbox Code Playgroud)

有没有办法修改Visual Studio以防止这种缩进?

css visual-studio visual-studio-2013

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

如何在ASP.NET Core中返回401而不是302?

当用户未登录时,我试图让ASP.NET Core Identity返回401.我已经[Authorize]为我的方法添加了一个属性,而不是返回401,它返回302.我已经尝试了很多建议但是似乎没什么用,包括services.Configureapp.UseCookieAuthentication设置LoginPathnullPathString.Empty.

c# asp.net-core asp.net-core-identity

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

ASP.NET Core JWT映射角色声明为ClaimsIdentity

我想使用JWT保护ASP.NET Core Web API.另外,我想有一个选项,直接在控制器动作属性中使用来自令牌有效负载的角色.

现在,虽然我确实找到了如何将其与策略一起使用:

Authorize(Policy="CheckIfUserIsOfRoleX")
ControllerAction()...
Run Code Online (Sandbox Code Playgroud)

我想更好地选择使用通常的东西:

Authorize(Role="RoleX")
Run Code Online (Sandbox Code Playgroud)

其中Role将从JWT有效负载自动映射.

{
    name: "somename",
    roles: ["RoleX", "RoleY", "RoleZ"]
}
Run Code Online (Sandbox Code Playgroud)

那么,在ASP.NET Core中实现这一目标的最简单方法是什么?有没有办法通过一些设置/映射自动工作(如果是这样,在哪里设置它?)或者我应该在验证令牌后,拦截生成ClaimsIdentity并手动添加角色声明(如果是,在何处/如何操作)那?)?

c# asp.net-core asp.net-core-webapi

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

为什么在C#6.0自动属性初始化中没有`this`?

我有以下代码类:

public class Foo
{
    public Nested Bar { get; } = new Nested(this);

    public class Nested
    {
        public Nested(Foo foo)
        {
            foo.DoSomething();
        }
    }

    private void DoSomething()
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到此编译错误:

关键字'this'在当前上下文中不可用

我可以通过简单地不使用自动属性初始化器来修复它,并明确地将其移动到构造函数中:

public Nested Bar { get; }

public Foo()
{
    this.Bar = new Nested(this);
}
Run Code Online (Sandbox Code Playgroud)

为什么会这样?是不是Auto-Property Initializer实际上转换为IL中的构造函数代码?

c# oop constructor automatic-properties

23
推荐指数
2
解决办法
2695
查看次数