小编par*_*ent的帖子

markForCheck()和detectChanges()之间有什么区别

ChangeDetectorRef.markForCheck()和之间有什么区别ChangeDetectorRef.detectChanges()

我只在SO上找到了关于NgZone.run()这两个函数之间的差异的信息,但不是这两个函数之间的区别.

对于仅提及文档的答案,请说明一些实际场景,以选择其中一个.

angular2-changedetection angular

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

防伪令牌适用于用户"",但当前用户是"用户名"

我正在构建单页面应用程序并遇到防伪令牌问题.

我知道为什么问题发生我只是不知道如何解决它.

发生以下情况时,我收到错误消息:

  1. 未登录用户加载对话框(带有生成的防伪标记)
  2. 用户关闭对话框
  3. 用户登录
  4. 用户打开相同的对话框
  5. 用户在对话框中提交表单

防伪令牌适用于用户"",但当前用户是"用户名"

发生这种情况的原因是因为我的应用程序是100%单页,并且当用户通过ajax帖子成功登录时/Account/JsonLogin,我只是使用从服务器返回的"已验证视图"切换出当前视图但不重新加载页.

我知道这就是原因,因为如果我在步骤3和4之间简单地重新加载页面,就没有错误.

所以似乎@Html.AntiForgeryToken()在加载的表单中仍然为旧用户返回一个令牌,直到重新加载页面.

如何更改@Html.AntiForgeryToken()为新的经过身份验证的用户返回令牌?

我注入了新的GenericalPrincipal带有自定义IIdentity每个Application_AuthenticateRequest这样的时候@Html.AntiForgeryToken()被调用HttpContext.Current.User.Identity,其实我与自定义标识IsAuthenticated属性设置为true,但@Html.AntiForgeryToken似乎仍然呈现为老用户令牌,除非我做一个页面重新加载.

membership-provider asp.net-mvc-4

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

ng2 - ng-container和ng-template标签之间的区别

有人可以说明使用<ng-container><ng-template>元素之间的区别吗?

我找不到文档NgContainer,也不太了解模板标签之间的区别.

每个代码示例都会有很大帮助.

angular

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

MapKey与HasForeignKey的区别 - 流利的Api

实际上有什么区别:

this.HasRequired(a => a.Something)
    .WithMany()
    .Map(a => a.MapKey("SomethingId"));
Run Code Online (Sandbox Code Playgroud)

this.HasRequired(a => a.Something)
    .WithMany()
    .HasForeignKey(a => a.SomethingId);
Run Code Online (Sandbox Code Playgroud)

entity-relationship entity-framework ef-code-first

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

Underscore.js - 将键/值对的数组映射到对象 - 一个班轮

我一直在浏览下划线文档,但我似乎无法找到一个方法(或嵌套方法调用)来执行以下转换:

假设我有以下Javascript数组:

 [{ "name" : "sEcho", "value" : 1},{ "name" : "iColumns", "value" : 12}, ... ]
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为以下对象:

 {
      sEcho: 1,
      iColumns: 12,
      ...
 }
Run Code Online (Sandbox Code Playgroud)

我使用underscore.js是有原因的,所以它必须是一个班轮.

javascript underscore.js

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

CORS POST请求无效 - 选项(错误请求) - 不允许来源

在最新的beta 2版本中,我遇到了跨域POST请求命中Api控制器的问题.

Chrome(和其他浏览器)吐出:

OPTIONS http://api.hybridwebapp.com/api/values 400 (Bad Request)
POST http://api.hybridwebapp.com/api/values 404 (Not Found) 
Run Code Online (Sandbox Code Playgroud)

它可能与此问题有关,但我已应用该解决方法和其他一些其他修补程序,例如web.config 添加

我一直在用这个敲打我的脑袋一段时间,所以我创建了一个解决方案来完全重现问题.

加载Web应用程序将有2个按钮,一个用于GET,一个用于POST,响应将出现在按钮旁边.GET有效.无法获得POST以成功返回.

在此输入图像描述

我能够从Fiddler那里得到一个提示,但这没有任何意义,因为如果你看一下它的反应就包含了Access-Controll-Allow-Origin标题中的域:

在此输入图像描述

解决方案中有一个名为"ConfigurationScreenshots"的文件夹,其中包含IIS配置(网站绑定)和项目属性配置的一些屏幕截图,以便尽可能轻松地帮助我:)

编辑:不要忘记将此条目添加到主机文件(%SystemRoot%\ system32\drivers\etc):

 127.0.0.1     hybridwebapp.com  api.hybridwebapp.com
Run Code Online (Sandbox Code Playgroud)

**状态:**似乎Chrome之类的某些浏览器允许我继续POST,无论OPTIONS响应中的错误消息如何(而其他像Firefox则没有).但我不认为这解决了.

查看它有的OPTIONS请求的Fidler截图

Access-Control-Allow-Origin:http://hybridwebapp.com

然而错误:

原产地http://hybridwebapp.com是不允许的

这完全是矛盾的,好像它忽略了标题.

asp.net cors asp.net-web-api

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

d3 同步 2 个单独的缩放行为

我有以下 d3/d3fc 图表

https://codepen.io/parliament718/pen/BaNQPXx

该图表具有主区域的缩放行为和 y 轴的单独缩放行为。可以拖动 y 轴以重新缩放。

我无法解决的问题是,在拖动 y 轴以重新缩放然后平移图表后,图表中有一个“跳跃”。

显然,这 2 个缩放行为有断开连接,需要同步,但我正在绞尽脑汁试图解决这个问题。

const mainZoom = zoom()
    .on('zoom', () => {
       xScale.domain(t.rescaleX(x2).domain());
       yScale.domain(t.rescaleY(y2).domain());
    });

const yAxisZoom = zoom()
    .on('zoom', () => {
        const t = event.transform;
        yScale.domain(t.rescaleY(y2).domain());
        render();
    });

const yAxisDrag = drag()
    .on('drag', (args) => {
        const factor = Math.pow(2, -event.dy * 0.01);
        plotArea.call(yAxisZoom.scaleBy, factor);
    });
Run Code Online (Sandbox Code Playgroud)

所需的行为是缩放、平移和/或重新缩放轴,以始终从上一个操作完成的位置应用变换,而不会出现任何“跳跃”。

d3.js d3fc

25
推荐指数
3
解决办法
996
查看次数

生成脚本 - 仅限数据 - 发现循环依赖性错误

我正在尝试生成数据库中所有数据的脚本,因此我可以将数据移动到另一台服务器上的相同数据库.在SQL Server 2012中,我右键单击源数据库

任务>生成脚本>脚本整个数据库和所有数据库对象>高级>脚本的数据类型:仅限数据

这给了我一个关于Cyclic依赖的错误.如果我将数据类型更改为脚本到架构和数据,它会生成正常的.如何解决此问题仅适用于数据?

操作结果从MyDatabase获取对象列表失败

详细报告:

Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptPublishException:脚本编写对象时发生错误.---> Microsoft.SqlServer.Management.Smo.SmoException:找到循环依赖项.在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(Int32 num,Dictionary 2 dictionary, List1 sortedList,HashSet 1 visited, HashSet1 current)在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(Int32 num,Dictionary 2 dictionary, List1 sortedList,HashSet 1 visited, HashSet1 current)在Microsoft .SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(的Int32 NUM,字典2 dictionary, List1排序列表,HashSet的1 visited, HashSet1电流)Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(的Int32 NUM,字典2 dictionary, List1排序列表,HashSet的1 visited, HashSet1电流)Microsoft.SqlServer 2 dictionary) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.SortDataSet(DataSet ds) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.SortDataSet(List.Management.Smo.SmoDependencyOrderer.SortDictionary (Dictionary 1 objectList,Dictionary 2 idDictionary, DataSet ds) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.ExecuteQueryUsingTempTable(List1 objectList,List 1 urns 1 list, String query) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.ResolveTableOnlyDependencies() at …

ssis sql-server-2012

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

如何在子指令之前执行父指令?

我正在寻找两个角度指令,一个父指令和一个子指令,来创建可排序和可复制的小部件.预期的标记是:

<div class="widget-container" data-sortable-widgets>
      <section class="widget" data-cloneable-widget></section>
<div>
Run Code Online (Sandbox Code Playgroud)

但是,child指令似乎在父元素之前执行,在某个元素可用之前(由父元素添加):

function SortableWidgetsDirective() {
    return {
        priority: 200,
        restrict: 'A',
        link: function ($scope, element, attrs) {
            element.find(".widget header").append($("<div class='widget-controls'></div>"));
            element.sortable({  });
        }
    };
}

function CloneableWidgetDirective() {
    return {
        priority: 100,
        restrict: 'A',
        link: function ($scope, element, attrs) {
            // This directive wrongfully executes first so widget-controls is no available
            element.find("header .widget-controls").append($("<div class='clone-handle'></div>"));
        }
    };
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到我尝试设置优先级但我认为因为它们在不同的元素上,它不起作用.

如何让父项先执行?

javascript angularjs angularjs-directive

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

Hangfire依赖注入生命周期范围

我正在重写整个问题因为我意识到原因,但仍然需要一个解决方案:

我在Hangfire中有一个经常性的工作,每分钟运行并检查数据库,可能更新一些东西,然后退出.

我将dbcontext注入包含job方法的类中.我注册这个dbcontext以使用以下注入

builder.RegisterType<ApplicationDbContext>().As<ApplicationDbContext>().InstancePerLifetimeScope();
Run Code Online (Sandbox Code Playgroud)

但是,每次作业运行时,Hangfire似乎都不会创建单独的生命周期范围,因为构造函数只会被调用一次,尽管每分钟调用一次作业方法.

这给我带来了问题.如果用户更新了数据库中的某些值(dbcontext被注入其他地方并用于更新值),则仍在使用的上下文Hangfire开始返回已更改的过时值.

c# autofac hangfire

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