小编lik*_*ski的帖子

如何在角度控制器或范围上使用angular.toJson

请参阅我的以下jsFiddle示例,其中我尝试使用angular.toJson将Angular.js对象推送到JSon表示中.我得到的只是"$ SCOPE"的结果.

http://jsfiddle.net/K2GsS/12/

我想要做的是获取当前的属性和值.在这个例子中,我希望看到的是

{ firstName: 'Frank', lastName: 'Williams' }
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法以JSon形式获取该数据(即不使用范围)?显然我可以手动滚动一个获取值的方法并推出一个JSon表示,但是当控制器改变时,该函数也会改变,所以我宁愿只调用一个toJson类型的方法.有人知道这样做的正确方法吗?提前致谢.

javascript angularjs

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

为什么Angular JS形成.$ pristine不会随着直接JS操作而改变

我想通过测试Angular JS pristine设置来调整表单项的显示,例如按钮的启用/禁用属性.

当click事件触发时,表单的pristine值会按照我的预期更改,但是当我直接操作scope变量时,即使表单上的控件绑定到该变量,表单的pristine设置也不会更改.

请看以下JSfiddle:

http://jsfiddle.net/nicholasporter/2h7wT/3/

我希望当控件绑定到范围变量时,更改布尔值会导致窗体pristine设置发生更改.有没有更好的方法来测试这个?当表单上没有任何变化时,是否有更好的方法来调整按钮或其他DOM元素?提前感谢任何指针.这是JSfiddle不工作的代码.

 <div ng-app ng-controller="MyCtrl">
    <form novalidate name="myForm">
    {{myBool}}

      <input type="checkbox" ng-model="myBool" />
      <button ng-click="myBool=!myBool">JS set</button>
        <div>Form Pristine:{{myForm.$pristine}}</div>
    </form>
  </div>


<script>
    function MyCtrl($scope){
        $scope.myBool = false;
    }
</script>
Run Code Online (Sandbox Code Playgroud)

angularjs

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

使用证书创建PHP SOAP请求

我正在尝试创建一个PHP SOAP连接到.NET Web服务,该服务具有自签名证书,以便锁定服务以通过HTTPS进行通信.我继续得到错误,我不确定它是否与我创建证书的方式,我的Apache/PHP设置,我尝试建立SOAP请求的方式或其他方面有关.如果有人有任何指示,他们将不胜感激.提前致谢.

证书生成

这就是我创建证书的方式.

  1. 创建受信任的根私钥:

    genrsa -out ca_authority_prv.pem 2048

  2. 创建受信任的根颁发机构证书:

    req -new -key ca_authority_prv.pem -x509 -out ca_authority_cert.pem

  3. 使证书颁发机构信任:

    x509 -in ca_authority_cert.pem -out ca_authority_trust.pem -trustout

  4. 退出OpenSSL并创建一个串行文件:

    echo 1000> ca_authority.srl

  5. 创建客户端私钥:

    genrsa -out Client_prv.pem 2048

  6. 创建客户端请求:

    req -new -key Client_prv.pem -out Client_req.pem

  7. 与CA签署客户端请求:

    x509 -req -CA ca_authority_trust.pem -CAserial ca_authority.srl -CAkey ca_authority_prv.pem -in Client_req.pem -out Client_cert.pem

  8. 为客户端证书制作pfx

    pkcs12 -export -in Client_cert.pem -inkey Client_prv.pem -out Client_cert.pfx

IIS安装程序

创建此证书后,我按照相同的步骤获取服务器证书,并且:

  1. 将受信任的根CA添加到计算机受信任的根存储中

  2. 将服务器证书添加到计算机存储

  3. 设置IIS以使用服务器证书并要求客户端证书

PHP SOAP请求

这是我用来建立PHP SOAP请求的代码(下面是错误):

$wsdl = "https://localhost/MyService/MyService.asmx";
$local_cert = "C:\\Certs\client_cert.pem";
$passphrase = …
Run Code Online (Sandbox Code Playgroud)

php ssl https soap

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

单元测试时,Elmah错误记录FromCurrentContext会中断

在任何时候使用Moq编写单元测试时,我调用Elmah.ErrorSignal.FromCurrentContext它失败并带有空引用异常.我能够模拟ControllerContext,我想只使用这样的错误日志命令..

Elmah.ErrorSignal.FromContext(ControllerContext.HttpContext).Raise(e);
Run Code Online (Sandbox Code Playgroud)

但不幸的ControllerContext.HttpContext是,它是类型的HttpContextBase,不适用于此错误记录方法.

有没有更好的方法直接调用Elmah错误记录?不幸的是,该Application.HttpContext对象不能被嘲笑(下面的例子)或者也可以用于此目的.

模拟ApplicationApplication.HttpContext:

ctrlCtx.SetupGet(x => x.HttpContext.ApplicationInstance)
           .Returns(new Mock<HttpApplication>().Object);
ctrlCtx.SetupGet(x => x.HttpContext.ApplicationInstance.Context)
           .Returns(new Mock<HttpContext>().Object);
Run Code Online (Sandbox Code Playgroud)

生成错误:

非虚拟(在VB中可覆盖)成员上的设置无效

unit-testing elmah moq asp.net-mvc-3

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

Angular js JSON数据与DateTime的MVC模型绑定?

我正在使用Angular JS来获取和发布数据到我的MVC 4控制器作为JSON.除DateTime/DateTime外,我的所有属性都正确转换?类型.我希望有一个"设置并忘记它"处理日期的方法,以便添加的新类和/或属性不必记住进行一些特殊的转换以正确处理日期.我已经看到了以下方法和可能的缺点.人们在同一平台上使用什么方法?MVC4中是否存在正确处理此问题的内容,我可能没有配置?任何建议将不胜感激.

  1. 定制模型活页夹.作为Phil Haack博客的详细信息.可能的性能问题.
  2. 在JS方面进行一些修改.详见Robert Koritnik的博客.这似乎不适用于Angular js,也许$ http.post中有一个设置允许它工作但我的对象使用这种方法的所有空值.
  3. 有一些额外的属性,如FormattedDateTime,可以在POST操作上转换.虽然它确实允许在客户端正确显示仍处于'/ Date(695573315098)/'格式的日期,但这不是'设置并忘记它的方法'

请参阅以下代码示例.C#类:

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public DateTime BirthDate { get; set; }
    public DateTime? ApprovedForSomething { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Angular JS控制器:

    function PersonController($scope, $http) {
        $scope.getPerson = function () {
            $http.get('../../Home/GetPerson/1').success(function (data) {
                $scope.Person = data;
            });
        }
        $scope.updateApprovedForSomething = function () {
            $http.post('../../Home/UpdatePerson', { person: $scope.Person }).success(function (data) { …
Run Code Online (Sandbox Code Playgroud)

json asp.net-mvc-3 asp.net-mvc-4 angularjs

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

将MVC4站点部署到Azure会导致ExtensionAttribute异常

在观看了AspConf的Scott Gu的主题演讲后,我对使用MVC4尝试Windows Azure网站感到很兴奋.我尝试在将其重新配置为目标.NET framework 4.0而不是4.5后部署现有的MVC应用程序,并出现以下错误.

无法从程序集'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'加载类型'System.Runtime.CompilerServices.ExtensionAttribute'.

由于我已经添加了几个NuGet包,我认为它可能与Ninject有关,所以我创建了一个新的MVC项目,目标是.NET 4.0框架,没有NuGet包,并使用Visual Studio 2012 RC Publish选项部署到Windows Azure(右 - 单击Web项目),我仍然收到此错误.

有谁知道发生了什么或如何解决这个问题?提前致谢.

包括完整堆栈跟踪:

[TypeLoadException:无法从程序集'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'加载类型'System.Runtime.CompilerServices.ExtensionAttribute'.]
System.ModuleHandle.ResolveType(RuntimeModule module,Int32 typeToken,IntPtr*typeInstArgs,的Int32 typeInstCount,IntPtr的*methodInstArgs,的Int32 methodInstCount,ObjectHandleOnStack型)0
System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule模块,的Int32 typeToken,的RuntimeTypeHandle [] typeInstantiationContext,的RuntimeTypeHandle [] methodInstantiationContext)180
System.Reflection.RuntimeModule.ResolveType( Int32 metadataToken,Type [] genericTypeArguments,Type [] genericMethodArguments)+192
System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttributeRecord caRecord,MetadataImport scope,Assembly&lastAptcaOkAssembly,RuntimeModule decoratedModule,MetadataToken decoratedToken,RuntimeType attributeFilterType,Boolean mustBeInheritable,Object [] attributes,IList derivedAttribu tes,RuntimeType&attributeType,IRuntimeMethodInfo&ctor,Boolean&ctorHasParameters,Boolean&isVarArg)+115
System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule,Int32 decoratedMetadataToken,Int32 pcaCount,RuntimeType attributeFilterType,Boolean mustBeInheritable,IList derivedAttributes,Boolean isDecoratedTargetSecurityTransparent)+426 System.Reflection .CustomAttribute.GetCustomAttributes(RuntimeAssembly assembly,RuntimeType caType)+103
System.Reflection.RuntimeAssembly.GetCustomAttributes(Type attributeType,Boolean inherit)+64
WebActivator.AssemblyExtensions.GetActivationAttributes(Assembly assembly)+64 WebActivator.ActivationManager.RunActivationMethods()+ 143 WebActivator .ActivationManager.Run()+ …

c# asp.net-mvc azure visual-studio

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

高流量ASP.NET MVC编码注意事项

有几次我被问到以下问题并觉得我可以有更好的答案,所以我在这里转发它,希望能找到更多资源,博客书籍或编写可扩展MVC3 C#代码的指针.如果您有关于编写跨多个服务器托管的性能更好的代码的任何指示,我将非常感激.为了争论,我们可以说这将是一个预计每天达到10-20K点击率的代码.

问题:编写分布在多个服务器上的可伸缩代码时,您考虑了哪些编码注意事项?

我的直觉告诉我答案在于处理会话.我在过去几年的背景是编写服务和表单应用程序而不是Web应用程序,所以我正在寻找可以帮助我进行Web应用程序特定开发的信息,特别是对于C#MVC3.任何博客或书籍,你建议我一定会考虑!

asp.net scalability asp.net-mvc-3

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

ASP.NET MVC中每用户变量的Session替代方法

我正在开发一个MVC 3应用程序,该应用程序将托管在具有多工作进程设置的Web场中.有大约十几个变量存储在Session中,但由于IIS设置而丢失.

通过迷失我的意思是当登录过程成功时,我通过记录看到我已经设置了Session变量但是在重定向操作之后并且在着陆Controller Action上,Session变量通常是空的.我不确定这是否相关,但这是在HTTPS中.

我们正在考虑将存储在Session out中的用户特定设置移动到其他机制的可能性,但是有一个变量我将无法使用它.鉴于上述部署环境,我有以下问题.

  1. Cookie是我唯一的(最好的?)替代方法来存储用户特定设置的会话变量吗?
  2. 如果是这样的话,是否存在一种用于编写cookie的安全机制,因此它们无法被操纵,仍然可以在多服务器环境中读取?
  3. 据我所知System.Runtime.Caching,在上面的IIS配置中运行时遇到了同样的问题.真的吗?

.net asp.net asp.net-mvc iis-7

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

Knockout计算列,可观察数组不更新UI

我正在使用以下knockout observableArray和计算列代码但是当我将值推送到可观察数组时,UI(对于数据绑定计算)不会更新.请参阅我的jsFiddle示例.

http://jsfiddle.net/U9Sqb/2/

有没有更好的方法将值推送到observableArray并让它们通过计算更新UI?提前致谢.

HTML:

<html>
    <head>
        <script src="http://cloud.github.com/downloads/SteveSanderson/knockout/knockout-2.1.0.js" ></script>
    </head>
    <body>
        <div data-bind="text: onString"></div>
        <div id="test"></div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

JavaSript:

function MyData() {
  var self = this;
  self.currentOnOf = ko.observable(1);
  self.available = ko.observableArray();
  self.onString = ko.computed(function () {
    return "On " + self.currentOnOf() + " of " + self.available ().length;}, self);
}

var data = new MyData();

$(document).ready(function () {
    ko.applyBindings(data);
    data.available().push(1);
    data.available().push(2);
    $("#test").html(data.available().length);
});
Run Code Online (Sandbox Code Playgroud)

javascript knockout-2.0 knockout.js

0
推荐指数
1
解决办法
3041
查看次数