小编Sea*_*een的帖子

StackExchange站点如何关联用户帐户和OpenID登录?

我喜欢StackExhchange/StackOverflow集成OpenID的方法.

据我了解,这个过程是这样的:

  • 如果用户使用OpenID提供商(即Google)注册,则StackOverflow(或类似网站)会为该用户创建一个帐户,并将OpenID与该帐户相关联.
  • 现有用户可以将多个OpenID帐户与他/她的StackExchange帐户相关联.

我很乐意模仿这种行为,因为我还没有在其他网站上看到它几乎用户友好.

我知道StackExchange是基于ASP.NET MVC构建的,但我不确定它是否使用标准的ASP.NET凭据模型,然后将OpenID提供程序添加到单独的数据库表中或者是什么.

所以,我的问题是:

  • StackExchange如何创建这些帐户?他们是否在标准ASP.NET MVC提供程序中创建用户,然后关联该ID,或者是否有单独的进程?
  • StackExchange如何允许其他OpenID提供程序帐户与现有帐户相关联?

在此先感谢您提供任何帮助!

openid asp.net-mvc account-management user-accounts openid-provider

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

如何在Access中向参数传递多个值?

背景/总体目标

  • 我有一个 Excel 电子表格,其中列出了某些角色需要测试的项目。
    • 角色有成员
    • 角色可以有成员角色,成员角色有自己的用户。
  • 我需要获取可以测试给定功能的用户总数,以获取名称并计算某些指标的数量。
  • 我将用户、角色和成员角色放入 Access DB 中以进行快速查询
  • 现在,只是想获取正确的信息。我不介意输入角色列表并让它以这种方式返回内容。
  • 我想避免将每个角色的所有测试项目添加到数据库中(其中有很多测试项目,这应该是一个相当快的任务)。

数据库结构

                       +---------------+
    +------------+     |RolesUsers     |
    |Roles       |     |---------------|    +---------------+
    |+-----------|     |ID             |    |Users          |
 +-+|ID          |+---+|RoleID         |    |---------------|
 |  |RoleName    |     |UserID         |+--+|ID             |
 |  +------------+     +---------------+    |UserName       |
 |                                          +---------------+
 |
 |  +-----------------+
 |  |RolesMemberRoles |
 |  |-----------------|
 |  |ID               |
 +-+|RoleID           |
 +-+|MemberRoleID     |
    +-----------------+
Run Code Online (Sandbox Code Playgroud)

目标

  • 将角色列表传递给查询(通过列出的参数或字符串列表)
  • 返回属于任何这些角色或其任何成员角色的唯一用户的计数
  • 快速而肮脏——不一定要花哨

当前访问查询

  • 返回属于通过参数输入的给定角色的角色或其成员角色的用户
PARAMETERS p_RoleName Text ( 255 );
SELECT Roles.RoleName, Users.UserName
FROM 

(RolesUsers INNER JOIN Users …
Run Code Online (Sandbox Code Playgroud)

sql parameters excel ms-access

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

在Knockout中连接一个CSS名称

我想知道如何为我的Knockout ViewModel中的项目使用$ data连接的css类名称.

目标

当用户单击"赞美"按钮(我的ViewModel数组中的项目)时,我想将css类"feedbackItemIconPraise"应用于LI.如果用户点击"批评",我想申请"feedbackItemIconPraise"类.

我假设使用$ data连接data-bind属性中的css类是可行的方法,但可能是错误的.

我的ViewModel的相关部分:

var FeedbackViewModel = function () {
    var self = this;
    self.feedbackItemTypes = ['Praise', 'Criticism', 'Problem', 'Question'];
    self.selectedFeedbackType = ko.observable('Praise');
    self.updateSelected = function (param) {
        self.selectedFeedbackType(param);
    };
};

var feedbackViewModel = new FeedbackViewModel();

ko.applyBindings(feedbackViewModel, document.getElementById("feedbackModal"));
Run Code Online (Sandbox Code Playgroud)

我的视图显示的相关部分:

<div id="feedbackListContainer">
    <ul class="thumbnails" id="feedbackList" data-bind="foreach: feedbackItemTypes">
       <li class ="feedbackItem" data-bind="click: $parent.updateSelected, text:$data, attr:{id:'feedbackItem'+$data, title:$data}, css: {'feedbackItem-Highlighted':$data==$parent.selectedFeedbackType(), 'feedbackItemIcon'+$data: true}">
        </li>
        </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

问题

我认为我错了是应用CSS类"'feedbackItemIcon'+ $ data".我想我误解了如何应用css类,如果在Knockout中这是可能的,或者与Knockout的工作方式不一致.当我尝试这样做时,我的所有文本都会消失,所以我认为我完全搞砸了语法.

会欣赏一些见解.

javascript css asp.net-mvc knockout.js

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

如何在多个TeamCity构建中减少npm安装的时间?

问题

  • 我们在TeamCity中有大量的构建配置,可以处理许多相同软件包的npm安装
  • 因为我们需要为许多构建(例如所有PR)强制执行干净检查,所以node_modules给定构建中的文件夹永远不会被重复使用
  • 我们构建的npm安装部分需要4分钟,大约占给定构建时间的40%.
  • 每天在10个代理商的数百个构建中,这是一个值得减少的数字.

node_modules在给定堆栈的情况下,在构建之间集中/重用文件夹的推荐方法是什么?

技术堆栈

  • Windows Server 2008 R2
  • 节点LTS 4.x
  • TeamCity 9.x

我们尝试过什么

  • 使用npm cache - 默认情况下会发生这种情况,所以至少我们不是每次都要从互联网上下载软件包.
  • Symlinking node_modules到一个公共目录 - 这种方法有效(从几分钟到几秒)但不幸的是,在Windows上处理符号链接时,一些gulp/grunt任务失败了.Womp womp.

我们正在尝试的其他方法

  • node_modules在层次结构的更上层创建一个文件夹:不确定,但似乎节点可以分层搜索node_modules文件夹.在这种情况下,node_modules在父目录中创建文件夹可能会解决问题.
  • 使用NODE_PATH环境变量 - 不确定设置它是否会执行类似于上述点的操作,并node_modules在我们的某个版本中找不到一个常用文件夹.
  • 使用Powershell Move-Item在备份目录之间来回切换:如果我们不得不破解它,那么每个项目ID和使用备份目录可能是值得的Move-Item,这应该更新分区链接而不是复制文件,至少.该博客文章概述了这种方法.

teamcity node.js npm

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

连接:如何返回左外连接的空右侧的默认值

在我的Oracle数据库中,我有一个左外连接,用于父工作订单到其子工作程序.然后我运行一个计算执行一些子值的SUM().我将来自Nvl()中的子工作程序的结果包装起来,以确保它们能够正确计算.

这是有效的,除非父母没有子工作人员.在这种情况下,显示期间返回的"空值"是因为连接中没有结果,因此看起来Nvl([fieldname],0)不会将它们转换为显示0.因此,当我认为总结时具有父值的子值,由于向空值添加值,它们也返回null.

什么是最好的解决方法?这是可以解决的问题,还是从根本上解决了我的查询有问题的气味?

查询

对不起,我暂时无法发布设置.对于此特定工作顺序(硬编码),连接的"右手"部分为空,因为父级没有子级,因此显示为null.

SELECT *
FROM   (SELECT *
        FROM   R_PCR_ALLWOSANDTASKSSEPARATELY)WOINFO
       LEFT OUTER JOIN (SELECT WORKORDERNUMBER                AS TASKWORKORDRENUMBER
                               , PARENT                       AS TASKPARENT
                               , NVL(TOTALMATESTCOSTFORWO, 0) AS TOTALMATESTCOSTFORWO_TASK
                               , NVL(TOTALLABESTCOSTFORWO,0)         AS TOTALLABESTCOSTFORWO_TASK
                               , NVL(TOTALMATACTCOSTFORWO,0)         AS TOTALMATACTCOSTFORWO_TASK
                               , NVL(TOTALLABACTCOSTFORWO,0)         AS TOTALLABACTCOSTFORWO_TASK
                               , NVL(TOTALLABACTHOURSFORWO,0)        AS TOTALLABACTHOURSFORWO_TASK
                        FROM   R_PCR_ALLWOSANDTASKSSEPARATELY)TASKINFO
         ON ( WOINFO.WORKORDERNUMBER = TASKINFO.TASKPARENT )
WHERE  WORKORDERNUMBER = '2826059'; 
Run Code Online (Sandbox Code Playgroud)

sql oracle join left-join nvl

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

Oracle数据库:如何选择所有但首先返回某些列?

背景

我有一个带有很多列的oracle数据库表,我正在运行一些查询.

我不知道我在查询中究竟要查找哪些数据,所以我想返回所有列,但我不想查找并查看我知道有意义的列.

假设一个表(表1),列A,B列,C列...... Z列 -

有没有办法基本上说"选择列C,列J,列F,列Q,然后是表1中的其余列"?

我试过的事情

保持伪sql,运行:

从表1中选择C列,J列,F列,表1.*

没有帮助,因为即使我不介意重复,oracle将它们视为模糊定义的列,因此返回错误.

sql oracle oracle11g

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

如何使用 XAML 将 DatagridComboBoxColumn 绑定到不在 DataGrid 的 ItemsSource 中的 ViewModel 属性?

我正在尝试什么

  • 我有一个 Datagrid,它绑定到一个名为 FilesToAdd 的列表,它是我的 ViewModel 的一部分。
  • 我在该数据网格上有一个 Combobox 列。
  • 我想将 ComboBox 的选定项绑定到 FilesToAdd 列表项的 DocumentType 属性。
  • 但是,我希望有一个来自 AvailableDocumentTypes 的可用选项列表,它是 ViewModel 本身的属性,而不是 FilesToAdd 列表的属性。

XAML

<DataGrid ItemsSource="{Binding FilesToAdd}" Height="100" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" MaxHeight="100" AutoGenerateColumns="False" Visibility="{Binding FilesAreQueued, Converter={StaticResource BoolToVisConverter}}">
    <DataGrid.Resources>
        <app:BindingProxy x:Key="Proxy" Data="{Binding}"/>
    </DataGrid.Resources>
    <DataGrid.Columns>
        <DataGridTextColumn Header="File Will be Uploaded As" Binding="{Binding FileDisplayText}"/>
        <DataGridTextColumn Header="Size" Binding="{Binding FileSizeInText}"/>
        <DataGridComboBoxColumn ItemsSource="{Binding AvailableDocumentTypes}" Header="Document Type" Visibility="{Binding Data.DocumentTypesAreRequired, Converter={StaticResource BoolToVisConverter}, Source={StaticResource Proxy} }">
        </DataGridComboBoxColumn>
    </DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

更新 1:我正在尝试的 XAML + DataContext 澄清

根据凯文的建议,我尝试过:

<DataGridComboBoxColumn ItemsSource="{Binding DataContext.AvailableDocumentTypes, …
Run Code Online (Sandbox Code Playgroud)

c# data-binding wpf xaml mvvm

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

resx资源文件显示警告"资源名称不是有效的标识符"

背景

  • 我开始将字符串转换为应用程序内的资源.
  • 他们一切都很好.
  • 我的电脑在没有警告的情况下重新启动(电源问题).

问题

  • 我的RESX文件中的四个资源触发了以下行的警告:

    资源名称"[name]"不是有效的标识符.

其中[name]是资源的名称.

屏幕截图

在此输入图像描述

我找不到我做错了什么,我无法确定这是否与我的其他电源故障问题有关.

我知道资源名称不应该包含空格或句点,但我已经检查了我的,我认为它们没有(PS我知道名字可能会好得多,并且计划重新审视它).

c# resources resx visual-studio visual-studio-2012

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

KnockoutJS:如何避免在applyBindings上运行viewmodel函数?

我对有些代码感到有点困惑,这些代码我没有像我期望的那样表现得很好.

我确定我做错了什么(考虑到这里的时间很晚,这可能是一件简单的事情),但我正在寻找一些明确的原因.

我正在使用:

  • jQuery 1.10.2
  • 淘汰赛2.3.0
  • Bootstrap 3.0.3

问题

  • 我在我的ViewModel中定义了一个函数,它将一个observable设置为某个值.
    • 这不是从我的代码中的任何其他地方调用的.
  • data-bind="click: AddAnnouncement"在一个按钮组的按钮上定义了一个绑定.
  • ko.applyBindings(vm)被调用时,AddAnnouncement函数会触发,在我点击任何内容之前很久就会给我一个不希望的结果.

问题代码

可以在JSFiddle中找到:http://jsfiddle.net/SeanKilleen/v8ReS/.

基本上,我有以下JavaScript代码:

var MyNamespace = MyNamespace || {

    ViewModel: function(){
        'use strict';
        var self = this;

        self.AddingAnnouncement = ko.observable(false);

        self.AddAnnouncement = function(){
            self.AddingAnnouncement(true); 
        };

        self.Start = function(){
            self.AddingAnnouncement(false);
        };

        self.Start();
    }
};

var vm;

$(document).ready(function(){
'use strict';

vm = new MyNamespace.ViewModel();

 ko.applyBindings(vm); 
    //do something with jQuery? Bind a VM?
});
Run Code Online (Sandbox Code Playgroud)

我的绑定代码也很基本(我想):

<div class="container">
    <div class="row"> …
Run Code Online (Sandbox Code Playgroud)

javascript knockout.js

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

如何在基于字段值替换项目的同时在 jq 中输出整个文档?

我正在尝试使用 jq 来解析 AWS CloudFront 配置 JSON 文件并更改一些值,以便我可以使用该配置发出更新语句。

文件

具有编辑值的重要文档格式片段是:

{
    "ETag": "REDACTED",
    "DistributionConfig": {
        "Origins": {
            "Quantity": 2,
            "Items": [
                {
                    "Id": "redacted-1",
                    "DomainName": "redacted1.us-east-1.amazonaws.com",
                    "OriginPath": "/redacted"
                },
                {
                    "Id": "redacted-2",
                    "DomainName": "redacted2.s3.amazonaws.com",
                    "OriginPath": ""
                }
            ]
        }
    }    
}
Run Code Online (Sandbox Code Playgroud)

我想做什么

我想输出整个文档,但是:

  • 我想将ETag值设置为""
  • 在 items 数组中的第二个项目上,我想将 设置OriginPath为我选择的值

(这是为了支持我们的 CI/CD 流程能够将 CloudFront 分发指向 S3 存储桶中刚刚部署的代码的新文件夹。我想以这些特定方式修改现有配置,但保持其余部分不变。 )

有用的东西……有点

一个 jq 过滤器. | (.DistributionConfig.Origins.Items[1].OriginPath = "Hello") | .ETag = ""做我需要它做的事情,结果是:

{
  "ETag": "", // correctly …
Run Code Online (Sandbox Code Playgroud)

json edit amazon-cloudfront aws-cli jq

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