小编xai*_*oft的帖子

成功的jquery ajax发布后,RedirectToAction无法正常工作?

以下内容不会重定向我的页面:这是MVC代码:

    [HttpPost]
    public ActionResult GoHome()
    { 
         return RedirectToAction("Index", "Home");   
    }
Run Code Online (Sandbox Code Playgroud)

这是ajax帖子:

   $.support.cors = true;

            $.ajax({
                type: "POST",
                url: "http://localhost/UserAccount/GoHome",
                dataType: 'json',
                crossDomain: true
            });
Run Code Online (Sandbox Code Playgroud)

该帖子是成功的,当它与GoHome操作发生冲突时,它不会重定向到Home Controller的Index Action.

c# jquery post jquery-post asp.net-mvc-2

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

如何将新的List <int> {1}放入NUNIT TestCase中?

我有方法:

public static int Add(List<int> numbers)
    {
        if (numbers == null || numbers.Count == 0)
            return 0;

        if (numbers.Count == 1)
            return numbers[0];


        throw new NotImplementedException();
    }
Run Code Online (Sandbox Code Playgroud)

这是我对它的测试,但它new List<int> {1}在TestCase 中不喜欢:

    [TestCase(new List<int>{1}, 1)]
    public void Add_WithOneNumber_ReturnsNumber(List<int> numbers)
    {

        var result = CalculatorLibrary.CalculatorFunctions.Add(numbers);

        Assert.AreEqual(1, result);
    }
Run Code Online (Sandbox Code Playgroud)

它给了我错误:

An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type

我必须这样做:

    [Test]
    public void Add_WithOneNumber_ReturnsNumber()
    {

        var result = CalculatorLibrary.CalculatorFunctions.Add(new List<int>{7});


        Assert.AreEqual(7, …
Run Code Online (Sandbox Code Playgroud)

c# tdd nunit testcase

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

是否可以在角度2中动态构建添加路由?

我正在构建一个用户可以选择要使用的页面的cms.因此,如果用户想要一个联系页面,他们会选择它并为其填写一些内容,并且他们的网站会有一个contact路由.基于此,是否可以根据用户是否想要特定页面动态添加角度路线?

angular

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

使用 Powershell 递归设置文件夹的权限?

我有一个目录,我想递归遍历该目录并为所有文件夹设置权限。所以操作顺序应该是:

  1. 从文件夹中删除所有 ACL
  2. 将 ACL 添加到文件夹
  3. 设置ACL

我尝试了以下代码,但出现错误

无法设置 ACL,因为它需要调用的方法 SetSecurityDescriptor 不存在。

foreach ($folder in Get-ChildItem -Path c:\perms -Recurse -Directory) {
    $AccessRule = New-Object System.Security.Accesscontrol.FileSystemAccessRule ("user", "FullControl", "ContainerInherit,ObjectInherit", "InheritOnly", "Allow")
    $acl = Get-Acl $folder
    $acl.SetAcccessRule($AccessRule)
    Set-Acl -Path $folder.FullName -AclObject $acl
}
Run Code Online (Sandbox Code Playgroud)

我摆脱了错误消息,并添加了 ACL,但我想基本上从文件夹中删除所有 ACL 并添加新的 ACL。

我更新了我的脚本,看起来像这样:

$acl = Get-Acl -Path "c:\perms"
$acl.SetAccessRuleProtection($true,$false)
$acl.Access | ForEach-Object { $acl.RemoveAccessRule($_) | Out-Null }
$ace = New-Object System.Security.Accesscontrol.FileSystemAccessRule ("user", "FullControl", "ContainerInherit,ObjectInherit", "InheritOnly", "Allow")
$acl.AddAccessRule($ace)
Set-Acl -Path "c:\perms" -AclObject $acl
Run Code Online (Sandbox Code Playgroud)

如果我想添加多个$ace,是否只是声明$ace2 …

powershell acl powershell-3.0

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

为什么这个匿名类型没有使用JsonConvert.DeserializeAnonymousType正确反序列化?

我有JSON字符串:

{"response":{"token":"{\"token\":\"123\",\"id\":191}"}}
Run Code Online (Sandbox Code Playgroud)

然后我有以下代码反序列化它,但它返回null:

 var def = new
       {
           token = new { token = string.Empty, id= string.Empty }
        };

  var deserializedToken = JsonConvert.DeserializeAnonymousType(token, def);
Run Code Online (Sandbox Code Playgroud)

deserializedToken 一片空白

这是一个我无法工作的更详细的例子:

var def = new
            {
                code = string.Empty,
                message = string.Empty,
                url= string.Empty,
                token = new {token = string.Empty}
            };

            var response = JsonConvert.DeserializeAnonymousType(data, def);

            var innerDef = new { token= string.Empty, id= string.Empty };

            var deserializedInner = JsonConvert.DeserializeAnonymousType(response.token.token, innerDef);
Run Code Online (Sandbox Code Playgroud)

.net c# json json.net json-deserialization

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

名为"DefaultRoute"的路径已在路径集合中.路线名称必须是唯一的

当我ASP.NET WebAPI向远程发布解决方案时IIS Server,我收到错误消息:

消息:System.ArgumentException:名为"DefaultRoute"的路由已在路径集合中.路线名称必须是唯一的.

我看到这个线程有同样的问题,但它没有任何效果.我试过了:

  1. 删除所有项目中的所有bin/obj文件夹.
  2. 清洗/重建
  3. 在发布之前从远程服务器上删除文件
  4. 重命名项目

无论如何,我可以找出是否存在陈旧文件.我确实重命名了一些文件,我听说这会导致问题?

不确定这是否重要,但我使用ASP.NET WebApi和RestSharp进行休息调用.

这就是我的意思Global.asax startup:这是多余的吗?

AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
RouteConfig.RegisterRoutes(RouteTable.Routes);
Run Code Online (Sandbox Code Playgroud)

c# iis asp.net-mvc restsharp asp.net-web-api

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

在逗号分隔的 sql 字符串中的每个单词周围加引号?

我有一个像这样的字符串:

'one, two, three'
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它看起来像这样:

'one','two','three'
Run Code Online (Sandbox Code Playgroud)

所以我可以在 IN 子句中使用它吗?

t-sql sql-server

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

为 JWT 生成密钥?

目前,我有一个用于 JWT 令牌生成的硬编码密钥。生成令牌时随机生成此令牌的最佳方法是什么?另外,我不明白的是,如果秘密是随机生成的,那么为什么会出于身份验证目的再次随机生成秘密。我在这里遗漏了一些东西还是我对它的工作原理还很遥远?看来密钥甚至不是随机的。例如,我是否会将其存储在 web.config 中

.net c# jwt asp.net-web-api2

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

takeWhile 完成后的链式 Observable 没有被调用?

我有以下方法,应该这样调用:

  1. registerDomain应该被调用并且应该返回operationId
  2. 几秒后10getOperationDetail应该称为传入operationId
  3. getOperationDetail应每秒调用一次10,直到successful返回。
  4. 一旦getOperationDetail完成,createRecordSets应该被调用。
  5. 最后,getChangeStatus应该调用直到它返回INSYNC
  6. 如果任何 api 调用抛出异常,我该如何在客户端处理错误?

下面的代码调用 registerDomain 和 getOperationDetail,但 getOperationDetail 完成后,它不会移至 createRecordSets。

  registerDomain(domain) {
    return this._adminService.registerDomain(domain)
      .concatMap(operation => this.getOperationDetail(operation.OperationId))
      .concatMap(() => this._adminService.createRecordSets(domain));
  }

  getOperationDetail(operationId) {
    return Observable.interval(10000)
      .mergeMap(() => this._adminService.getOperationDetail(operationId))
      .takeWhile((info) => info.Status.Value !== 'SUCCESSFUL');
  }
  createRecordSets(caseWebsiteUrl) {
    return this._adminService.createRecordSets(caseWebsiteUrl.Url)
        .concatMap(registerId => this.getChangeStatus(registerId));
  }

  getChangeStatus(registerId) {
    return Observable.interval(5000)
      .mergeMap(() => this._adminService.getChange(registerId))
      .takeWhile((info) => info.ChangeInfo.Status.Value !== 'INSYNC');
  } …
Run Code Online (Sandbox Code Playgroud)

observable rxjs

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

应该使用"使用"声明吗?

我见过有人在做的例子:

IDbConnection db = new MySqlConnection(conn);

var people = db.Query<People>("SELECT * FROM PEOPLE").ToList();
Run Code Online (Sandbox Code Playgroud)

或者上面是一个不好的做法,并且所有查询都应该使用如下语句:

using (var db = new MySqlConnection(conn))
{
var people = db.Query<People>("SELECT * FROM PEOPLE").ToList();
}
Run Code Online (Sandbox Code Playgroud)

c# dapper micro-orm

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