小编Sam*_*rie的帖子

如何用角形材料实现经典的"粘性页脚"?

我认识到Angular Material的实施正在进行中,但我今天早上花了一些时间试图熟悉它.但是,我真的很难让演示中显示的概念在一个独立的站点中工作.

似乎当指令喜欢<md-toolbar><md-content>用于具有固定高度的容器时,它们工作得很好.我正在努力将它们扔进<body标签内,并且能够像本例中那样使用粘性页脚布局.

我尝试了很多变体,但是这里有一个例子,当从DOM中删除内容时它不起作用.当内容在那里时,它会超出视口,而页脚会像你期望的那样被放置.在Chrome和Firefox的最新版本中,此示例在删除内容时将页脚保持在底部,但在IE中这根本不起作用.在IE中,无论主要内容是否显示,页脚都会浮动在标题下方.

演示: http ://codepen.io/sstorie/pen/xbGgqb

<body ng-app="materialApp" layou-fill layout='column'>
    <div ng-controller="AppCtrl" layout='column' flex>
      <md-toolbar class='md-medium-tall'>
        <div class="md-toolbar-tools">
          <span>Fixed to Top</span>
          <span flex></span>
          <md-button class="md-raised" ng-click="toggleContent(!displayContent)">toggle content</md-button>
        </div>
      </md-toolbar>
      <main class='md-padding' layout="row" flex>
        <div flex>
        <md-card ng-if="displayContent" ng-repeat = "card in cards">
          {{$index}}
          {{card.title}}
          {{card.text}}
        </md-card>
        </div>
               <div flex>
        <md-card ng-if="displayContent" ng-repeat = "card in cards">
          {{$index}}
          {{card.title}}
          {{card.text}}
        </md-card>
        </div>
      </main>
      <md-toolbar class="md-medium-tall">
        <div layout="row" layout-align="center center" …
Run Code Online (Sandbox Code Playgroud)

angularjs material-design angular-material

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

如何让Angular Material Design的<md-card>指令在IE中正确缩放成像?

我在material.angularjs.org网站上发布了这个可能的问题,但是想在这里发布这个以防万一有基于CSS的解决方案,我应该知道.

我正在尝试创建一个"砌体布局",其中我有多列不同尺寸的图像.我正在尝试使用卡片来保存每张图片,而在Chrome和Firefox中,它的工作方式与我预期的完全相同.卡片缩放到窗口(使用flex)并且图像缩放匹配卡片的大小.然而,在IE 11上,卡的高度似乎与图像的实际高度保持一致,即使它被缩小到较小的尺寸.我创建了一个Codepen来演示这个问题:

http://codepen.io/sstorie/pen/myJWxQ

  <body ng-app="materialApp" layout-fill>
    <div ng-controller="AppCtrl" layout='column'>
      <md-toolbar class='md-medium-tall'>
        <div class="md-toolbar-tools">
          <span>Fixed to Top</span>
        </div>
      </md-toolbar>
      <div class='md-padding' layout="row" flex>
        <div layout="row" flex>
            <div layout="column" ng-repeat="photoColumn in data.photos3p" flex>
                <md-card class="card" data-ng-repeat="photo in photoColumn">
                    <img ng-src="{{photo.path}}">
                </md-card>
            </div>
        </div>
      </div>
    </div>
  </body>
Run Code Online (Sandbox Code Playgroud)

...这里是我添加的唯一非物质CSS:

.card img {
  width: 100%;
  height: auto;
}
Run Code Online (Sandbox Code Playgroud)

这是在Chrome中运行的示例.请注意卡片的宽度和高度与图像有关:

在此输入图像描述

...但是这里的结果在IE11中看起来如何.您可以在IE中看到水平定向的图像向下缩放其高度以适应卡的宽度,但卡的高度不会随之缩小.它仍然是图像的高度.

在IE中您可以看到卡片的结果保留了图像的整个高度,即使它们按比例缩小也是如此.

是否有类似这样的CSS修复,或者它是如何<md-card>实现该指令的问题?

要清楚,我意识到这个图书馆正在进行中,到目前为止我很喜欢它.我对CSS不太满意,所以不确定这是否可以解决,或者我是否需要等待在材料代码中修复问题.

css angularjs material-design angular-material

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

Visual Studio 2015 - 如何在开始调试应用程序时停止EntryPointNotFoundException?

我在Windows 7笔记本电脑上运行Visual Studio 2015,每次在IDE的调试器中启动应用程序时,都会出现以下异常:

无法在DLL"advapi32.dll"中找到名为"EventSetInformation"的入口点.

在此输入图像描述

在github上coreclr存储库中找到了对此的引用,表明这是在Windows 8中添加的API.我的情况类似于github问题,我可以单击"继续"忽略该异常,我的应用程序运行得很好.然而,这真的很烦人,因为我不能只是开始调试应用程序而不等待抛出这个异常,所以我可以手动继续它.

我的问题是,是否有人知道我是否可以阻止此异常在IDE中破坏?这种情况目前只是令人讨厌,但我很想摆脱.

作为参考,在这种情况下,更改Visual Studio中的Exception设置似乎不会更改行为.以下是启用和禁用CLR异常的屏幕截图,以及异常:

CLR例外已禁用 禁用CLR异常的屏幕截图

已启用CLR例外 启用了CLR例外的屏幕截图

这是由一般调试器选项引起的,该选项似乎覆盖了任何特定于异常的设置.正如@John在下面的回答中指出的那样,您可以禁用调试器选项来停止此行为.当这个选项被选中,我会得到破发点中的说明,但取消选中它停止的是,提供什么,我一直在寻找:

删除选项以禁用此行为

exception visual-studio-debugging visual-studio-2015

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

如何使用Moq模拟StackExchange.Redis ConnectionMultiplexer类?

我正在努力模拟与StackExchange.Redis库相关的行为,但无法弄清楚如何正确模拟它使用的密封类.一个具体的例子是我的调用代码我正在做这样的事情:

    var cachable = command as IRedisCacheable;

    if (_cache.Multiplexer.IsConnected == false)
    {
        _logger.Debug("Not using the cache because the connection is not available");

        cacheAvailable = false;
    }
    else if (cachable == null)
    {
Run Code Online (Sandbox Code Playgroud)

其中的关键行是_cache.Multiplexer.IsConnected我正在检查以确保在使用缓存之前我有一个有效的连接.所以在我的测试中,我想用这样的方式模拟这种行为:

    _mockCache = new Mock<IDatabase>();
    _mockCache.Setup(cache => cache.Multiplexer.IsConnected).Returns(false);
Run Code Online (Sandbox Code Playgroud)

但是,虽然该代码编译得很好,但在运行测试时出现此错误:

测试中抛出了Moq异常

我也试过模拟多路复用器本身,并将其提供给我的模拟缓存,但我遇到了多路复用器类被密封的事实:

    _mockCache = new Mock<IDatabase>();
    var mockMultiplexer = new Mock<ConnectionMultiplexer>();
    mockMultiplexer.Setup(c => c.IsConnected).Returns(false);
    _mockCache.Setup(cache => cache.Multiplexer).Returns(mockMultiplexer.Object);
Run Code Online (Sandbox Code Playgroud)

...但是会导致此错误:

尝试模拟密封类时抛出的错误

最终我想在我的测试中控制该属性是真还是假,所以有没有正确的方法来模拟这样的东西?

.net c# unit-testing moq stackexchange.redis

8
推荐指数
2
解决办法
5454
查看次数

如何创建一个"外部模块"打字稿定义文件以包含一个npm包?

我最近为开源redux-ui-router库添加了一个打字稿定义文件,但是我现在收到的错误类似于下面的Typescript 1.7.3:

错误TS2656:导出的外部包类型文件'C:/.../ node_modules/redux-ui-router/index.d.ts'不是模块.请与软件包作者联系以更新软件包定义.

我试图在我的打字稿文件中使用这样的代码导入这个库:

import ngReduxUiRouter from "redux-ui-router";
Run Code Online (Sandbox Code Playgroud)

我是Typescript的新手,我找不到这个定义文件在npm包中包含时应该是什么样子的清晰描述.有一个wiki条目讨论npm包的类型,但除了重复应该使用外部模块的方向之外,没有一个具体的例子可以使用.

更正 我已经尝试删除declare module "redux-ui-router" {代码,这似乎在重新启动webpack后工作,我正在使用它来编译所有内容(为简洁起见,我删除了注释):

export interface ReduxUIRouterAction {
    type: string;
    payload: any;
}
export interface ReduxUIRouterState {
    currentState: Object;
    currentParams: Object;
    prevState: Object;
    prevParams: Object;
}
export function router(state: ReduxUIRouterState, action: ReduxUIRouterAction): ReduxUIRouterState;
export var ngReduxUiRouter: string;
export function stateGo(to: string, params?: Object, options?: Object): ReduxUIRouterAction;
export function stateReload(state: any): ReduxUIRouterAction;
export function stateTransitionTo(to: string, params?: Object, options?: Object): ReduxUIRouterAction;
export …
Run Code Online (Sandbox Code Playgroud)

npm typescript

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

如何使用NancyFx和IdentityServer3(非API网站)设置基于cookie的身份验证

我们有一个以下环境:

  • 独立IdentityServer3实例(发出引用标记,而不是jwt)
  • ASP.NET WebAPI资源服务器
  • 针对IdSvr进行身份验证的.NET客户端应用程序(通过资源所有者流)

...现在我们想开始添加一个OWIN托管的Web应用程序,该应用程序将使用NancyFx来提供服务器呈现的页面以及几个AngularJS SPA.此Nancy网站不会托管任何API,但可能会使用现有API中的数据.我想在OWIN管道中添加身份验证,以帮助保护我们的Angular应用程序不被发送给没有访问权限的用户.

这与发送SPA代码相反,并且让Angular确定用户是否应该看到任何内容.在那种情况下,我们已经公开了javascript代码库,我们希望避免这种情况.

我试图了解如何配置此Nancy站点以使用隐式流对IdentityServer的用户进行身份验证.我之前在独立SPA中实现了这种身份验证方案(其中所有身份验证都由AngularJS代码处理,令牌存储在HTML5本地存储中),但我对如何在OWIN管道中正确解决这个问题感到有点迷茫.

我认为OWIN cookie认证中间件是答案,但这是否意味着以下内容?

  • 我需要将用户重定向到IdentityServer(使用适当的url参数进行隐式流)?
  • IdentityServer会在成功登录后将用户重定向回我的站点,那么我是否挂钩到OWIN授权管理器以设置适当的cookie?

......或者我在想这一切都错了?

作为参考,我已经阅读了以下帖子,他们非常有帮助,但我不太了解OWIN的大局.接下来我将尝试使用UseOpenIdConnectAuthentication中间件,但我将非常感谢SO可能提供的任何指导.

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

https://github.com/IdentityServer/IdentityServer3/issues/487

authentication nancy owin identityserver3

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

是否可以将Firebase Auth合并到ASP.NET Core MVC中?

我正在努力构建一个Ionic移动应用程序,我计划使用Firebase的auth和实时数据库产品.我试图了解是否可以将Firebase auth合并到关联的ASP.NET Core MVC站点内的服务器端处理中.这将允许我使用一些"静态"服务器端页面来处理订阅,付款等,但仍然使用与移动应用程序相同的基于Firebase的用户方案.

我知道Firebase面向javascript客户端,我发现这个验证包含Authorization asp.net核心内API 头部请求的示例,因此可以在asp.net管道中验证firebase令牌.但是,这假设javascript客户端正在发出所有请求,而我想将令牌存储在某些cookie中,我可以让浏览器无缝地提供.这将让我处理我的应用程序中的静态,非JavaScript页面上的身份验证.

我认为必须有一些方法来启动对firebase的身份验证,并将响应重定向到MVC操作.然后你可能会在asp.net中设置一个"indentity"cookie,它会在页面刷新时保持不变.或者我只是基于我对其工作原理的理解?

评论Firebase身份验证asp.net核心的可能重复:

在我看来,这不是一个骗局,因为这个问题正在讨论验证客户端提供的JWT令牌(可能是javascript).我相信我最初包含的链接演示了解决该问题的方法.

asp.net-mvc firebase firebase-authentication asp.net-core

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

如何在Visual Studio Code x64中运行Powershell x86?

我有一种情况,我使用64位版本的Visual Studio代码来编写/调试powershell脚本.但是,由于Powershell脚本正在做什么,它需要在32位版本的Powershell中运行.它使用一些库来访问MS Access文件,所以我还没有找到一种方法让Powershell x64中的东西工作.

如果VS Code本身作为64位运行,有没有办法告诉VS Code运行32位版本的Powershell?例如,我可以修改launch.json文件以指定powershell本身的路径吗?

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "PowerShell",
            "request": "launch",
            "name": "PowerShell Launch Current File",
            "script": "${file}",
            "args": [],
            "cwd": "${file}"
        },
        ...
     ]
}
Run Code Online (Sandbox Code Playgroud)

powershell visual-studio-code

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

在WebAPI中将所有NLog日志绑定回原始请求的方法?

我正在使用WebAPI构建API,并且已经使用NLog在整个堆栈中进行日志记录.我的API解决方案有两个主要项目,包括:

  • 网站层本身实现控制器和webapi的东西
  • 一种服务层,以类似CQRS的方式实现"异步"命令和处理程序

我想要实现的是自动生成一个唯一的ID,我可以将其附加到日志语句,以便在处理单个请求时写入的任何日志,无论它们来自哪个层,都可以链接回原始请求.我也希望这可以在不传递唯一ID的情况下工作,或者让日志语句本身关注将它包含在他们的调用中.

考虑到这个目标,我开始考虑编写一个自定义委托处理程序来拦截每个请求(在本文后面作为指导)并在NLog中添加一个唯一的ID作为属性.我最终得到了以下内容:

/// <summary>
/// This class is a WebAPI message handler that helps establish the data and operations needed
/// to associate log statements through the entire stack back to the originating request.
/// 
/// Help from here: http://weblogs.asp.net/fredriknormen/log-message-request-and-response-in-asp-net-webapi
/// </summary>
public class InitializeLoggingMessageHandler : DelegatingHandler
{
    private ILogger _logger;

    // The logger is injected with Autofac
    //
    public InitializeLoggingMessageHandler(ILogger logger)
    {
        _logger = logger;
    }

    protected async override System.Threading.Tasks.Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) …
Run Code Online (Sandbox Code Playgroud)

c# logging nlog asp.net-web-api

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