小编Lew*_*wis的帖子

CSS中的最小/最大绝对位置

限制绝对定位元素位置的最佳方法是什么,理想情况是在纯CSS中?

我知道以下是不可能的,但我想我正在寻找的东西会是这样的:

.stickyElement{
   bottom-max:auto;      
   bottom-min:0px;
   top-max: auto;
   top-min: 100px;
 }
Run Code Online (Sandbox Code Playgroud)

这将允许元素从其包含的定位元素的顶部移动到不小于100px的位置.

一个示例(以及我的初始)用例是一个菜单,它作为页面的一部分滚动但在它到达视口顶部时停止滚动.(粘性菜单?)这个例子可以在这个页面上看到:http: //spektrummedia.com/startups

我完全相信,如果不使用一些Javascript,这是不可能的,但我想我会把它放在那里.

javascript css jquery html5

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

通过Http和Https使用WCF调用Web服务

在我们的项目中,我们有一个运行在http和https上的java Web服务.我们希望内部使用http,并使用https作为我们的Web应用程序的外部版本.

所以我们在我们的应用程序中创建了代理类,我们在web/app.config中设置了http的绑定,一切正常.

在外部应用程序中,我们需要对代码和配置进行哪些更改以支持相同服务的https?如果可能请提供代码片段来解释!

asp.net https wcf http

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

ASP.Net MVC授权操作过滤器

我试图了解在MVC Preview 4中使用Authorize [Authorize] Action Filter时错误处理的工作原理.

我有一个看起来像这样的动作:

[Authorize(Roles = "DOMAIN\\NOTAUTHORISED_ROLE" )]
[HandleError]
public ActionResult NeedAuthorisation()
{
    throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)

当我访问网址:时http://localhost:2197/testAuthorisation/NeedAuthorisation,我的浏览器中出现了一个空白页面.在Firebug中,我可以看到已发出请求并401 - Unauthorised返回了响应状态.但我没有被重定向或返回了customError.使用我授权的角色时,一切都按预期工作.

这是使用Windows身份验证.我正在编写一些代码来尝试Forms身份验证,看看我是否遇到了同样的问题.我已<customerrors mode="On"/>在testAuthorisation文件夹和Shared文件夹中设置并创建了错误页面.

asp.net asp.net-mvc

10
推荐指数
1
解决办法
3046
查看次数

唯一索引不适用于Mongoose/MongoDB

我使用Mongoose/MongoDb创建唯一索引时遇到问题,无法使其工作.在设置唯一索引时,我可以添加两个具有相同属性值的文档.

我已经尝试了我能想到的一切 - 重新启动(一切)改变语法等.

添加>>

这是我用来保存实体的方法:

  create  : function(entity, definition, successFn, errorFn){

    var model = mongoose.model(entity);
    newModel = new model(definition);

    newModel.save(function(error) {
      if(error){
        if(!errorFn){
          throw error;
        }
        errorFn(newModel);
        return;
      }

      successFn(newModel);
    });
  }...
Run Code Online (Sandbox Code Playgroud)

<<

var Something = new Schema({
  objectId          : ObjectId,
  name              : { type : String, index: { unique: true }}, 
  url               : { type : String, index: { unique: true }},
...etc
mongoose.model('Something', Something);
Run Code Online (Sandbox Code Playgroud)

Mongo输出

 [conn1] insert xxxxx.agencies 1526ms
 [conn1] building new index on { name: …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb node.js

9
推荐指数
2
解决办法
5589
查看次数

如何使用Rhino Mocks来模拟HttpContext.Application

我是Mocking框架的新手,并已开始使用RhinoMocks来协助我的MVC App Unit Testing.

我正在使用Scott Hanselmanns MVC Mock Helper来协助模拟 HttpContext.我成功地(经过一段时间)嘲笑了我需要的一些东西,但是当谈到HttpContext的Application属性时,它已经失败了.

在我的应用程序中,我将一个对象存储在Application中,并在Controller中检索它,如:

SomeObj foo = (SomeObj)Application["fooKey"];
Run Code Online (Sandbox Code Playgroud)

这是在我的MVC应用程序中的Application_Start上创建的.

更新后的第一个答案(为清晰起见,附加代码)目前在测试设置中我做:

HttpContextBase mockHttpBase = mocks.FakeHttpContext();
controllerToTest = new SomeController();
mocks.SetFakeControllerContext(controllerToTest);


HttpApplicationStateBase appState = 
    MockRepository.GenerateStub<HttpApplicationStateBase>();

Globals tmpAppGlobals = 
    new Globals();

mockHttpBase.Expect(ctx => ctx.Application).Return(appState);
mockHttpBase.Expect(ctx => ctx.Application[Globals.GlobalsKey]).
    Return(tmpAppGlobals);
Run Code Online (Sandbox Code Playgroud)

在我的单元测试设置中,我做:

Globals tmpAppGlobals = new Globals();
controllerToTest.ControllerContext.HttpContext.
            Expect(ctx => ctx.Application[Globals.GlobalsKey]).
Return(tmpAppGlobals);
Run Code Online (Sandbox Code Playgroud)

此调用为Application对象抛出NullReference异常.

我的问题有两个:

1)这是正确的方法还是我从设计/架构的角度做错了什么?

2)为什么这不起作用?!

提前致谢.

asp.net-mvc rhino-mocks httpcontext

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

实现HATEOAS的rest API的权限

我正在尝试找出在单页面应用程序中处理权限的正确方法,该应用程序直接与几个实现HATEOAS的RESTful API对话.

举个例子:

"作为我的应用程序的用户,我可以查看,启动和暂停作业,但不能阻止它们."

基础rest API具有以下资源:

/ jobs/{id}接受GET和PUT.GET返回作业模型,PUT接受作业模型作为请求体:

{
 "_links" : {
     "self" : "/jobs/12345678"
 }
 "id" : 12345678,
 "description" : "foo job",
 "state" : "STOPPED"
}
Run Code Online (Sandbox Code Playgroud)

接受的工作状态可以是:休眠| 跑步| 暂停了| 停止.

要求说在UI上我必须有按钮:

开始,暂停,停止

...并且仅基于登录用户的权限进行显示.

从API的角度来看,一切都可以作为服务器上的底层逻辑,确保用户在发出请求时无法将状态更新为STOPPED状态(可能会返回401).

通知app/UI用户权限的最佳方法是什么,因此它可以隐藏用户无权操作的任何按钮?

如果API提供权限列表,可能类似于:

{
 "_links" : {
     "self" : "/permissions",
     "jobs" : "/jobs"
 }
 "permissions" : { 
     "job" : ["UPDATE", "DELETE"], 
     "job-updates" : ["START", "PAUSE"] 
  }
}
Run Code Online (Sandbox Code Playgroud)

或者应该更改API以便权限反映在HATEOS链接中可能类似于:

{
 "_links" : {
     "self" : "/jobs/12345678",
     "start" : "/jobs/12345678/state?to=RUNNING", 
     "pause" : "/jobs/12345678/state?to=PAUSED", 
 }
 "id" : 12345678,
 "description" …
Run Code Online (Sandbox Code Playgroud)

api rest hateoas hypermedia

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

如何通过单个NPM脚本获取node-sass监视和实时重新加载?

从以下脚本部分获取package.json:

"scripts":{
    "sass:watch": "npm run sass -- -w ./src/public/stylesheets -r --source-map true",
    "livereload": "live-reload --port 9091 ./src/**/*",
    "dev:watch" : "npm run sass:watch; npm run livereload"
}
Run Code Online (Sandbox Code Playgroud)

如何在不阻止对方的情况下成功运行任务sass:watch和任务?livereloaddev:watch

目前,当我运行块时.npm run dev:watch sass:watchlivereload

如果我重新排序它们,会出现同样的问题.

node.js npm livereload node-sass

5
推荐指数
3
解决办法
3884
查看次数

在 React 中,更新嵌套数组状态项的正确方法是什么

使用 React 时(没有 Redux)。假设我有如下所示的组件状态:

{
    rows: [
    {
      items:[
         {
           value:'a',
           errors: false
         },
         {
           value:'b',
           errors: false
         },
         {
           value:'c',
           errors: false
         }
     ]
  }
Run Code Online (Sandbox Code Playgroud)

还假设行和项目的长度可以是 0 > n。

更新任何项目的价值的最佳(最有效、最常见、最一致、最流行等)方式是什么,即

this.state.rows[0].item[1]
Run Code Online (Sandbox Code Playgroud)

我意识到我可以做到:

let updatedRows = this.state.rows
updatedRows[0].item[1].value = 'new value'

this.setState({
  rows: updatedRows
})
Run Code Online (Sandbox Code Playgroud)

这是普遍接受的吗?替换几乎整个状态对象来更改单个值不是效率低下吗?

javascript ecmascript-6 reactjs

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

模拟和HttpContextBase.get_User()

我想模拟HttpContext的User属性.我正在使用Scott Hanselmans MVCHelper类和RhinoMocks.

我有一个包含代码的单元测试,如下所示:

...

MockIdentity fakeId = new MockIdentity("TEST_USER", "Windows", true);
MockPrincipal fakeUser = new MockPrincipal(null, fakeId);

using (mocks.Record())
{
    Expect.Call(fakeHttpContext.User).Return(fakeUser);
}
Run Code Online (Sandbox Code Playgroud)

...

我的MockIdentity和MockPrincipal类分别是符合IIdentity和IPrincipal的模拟.

运行报告的单元测试时出错:

System.NotImplementedException:未实现方法或操作.在System.Web.HttpContextBase.get_User()

当我尝试设置User属性的期望时,就会发生这种情况.

我知道httpContextBase有一个没有实现的getter和setter,但我认为Rhino会在模拟时处理这个问题.

这是否意味着我必须从HttpContextbase派生并覆盖我的mock对象的属性.这看起来很奇怪.

其他用户遇到过此问题,请在此处报告:http: //www.mail-archive.com/rhinomocks@googlegroups.com/msg00546.html

c# asp.net-mvc rhino-mocks

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

Mongoose嵌入文档/ DocumentsArrays id

在以下地址的Mongoose文档中:http: //mongoosejs.com/docs/embedded-documents.html

有一个声明:

DocumentArrays有一个特殊的方法id,可以通过_id属性过滤嵌入的文档(每个嵌入的文档都有一个):

请考虑以下代码段:

 post.comments.id(my_id).remove();
  post.save(function (err) {
    // embedded comment with id `my_id` removed!
  });
Run Code Online (Sandbox Code Playgroud)

我查看了数据,并且嵌入式文档没有_id,因为这篇帖子似乎证实了这一点:

如何返回最后一个push()嵌入文档

我的问题是:

文档是否正确?如果是这样,那么如何找出'my_id'(在示例中)首先要做'.id(my_id)'

如果文档不正确,可以安全地将索引用作文档数组中的id,或者我应该手动生成唯一的Id(根据上述帖子).

mongoose mongodb node.js

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

无法获取摘要身份验证以使用node.js

我正在尝试使用来自gathercontent.com的API,使用节点js进行简单的(!)摘要式身份验证.

一切似乎都在工作,除了我仍然得到一个"错误的凭据"响应,看起来像这样:

{ success: false, error: 'Wrong Credentials!' }
Run Code Online (Sandbox Code Playgroud)

代码如下所示:

var https = require('https'),
    qs = require('querystring');
apikey = "[my api key goes in here]",
    pwd = "[my password goes in here]",
    crypto = require('crypto');


module.exports.apiCall = function () {

    var options = {
        host:'abcdefg.gathercontent.com',
        port:443,
        path:'/api/0.1/get_pages_by_project/get_me',
        method:'POST',
        headers:{
            "Accept":"application/json",
            "Content-Type":"application/x-www-form-urlencoded"
        }
    };

    var req = https.request(options, function (res) {

        res.on('data', function (d) {
            var creds = JSON.parse(d);


            var parsedDigest = parseDigest(res.headers['www-authenticate']);
            console.log(parsedDigest);
            var authopts = {
                host:'furthercreative.gathercontent.com',
                port:443,
                path:'/api/0.1/get_pages_by_project/get_me', …
Run Code Online (Sandbox Code Playgroud)

authorization http node.js

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