请参阅我的以下jsFiddle示例,其中我尝试使用angular.toJson将Angular.js对象推送到JSon表示中.我得到的只是"$ SCOPE"的结果.
我想要做的是获取当前的属性和值.在这个例子中,我希望看到的是
{ firstName: 'Frank', lastName: 'Williams' }
Run Code Online (Sandbox Code Playgroud)
是否有更好的方法以JSon形式获取该数据(即不使用范围)?显然我可以手动滚动一个获取值的方法并推出一个JSon表示,但是当控制器改变时,该函数也会改变,所以我宁愿只调用一个toJson类型的方法.有人知道这样做的正确方法吗?提前致谢.
我想通过测试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) 我正在尝试创建一个PHP SOAP连接到.NET Web服务,该服务具有自签名证书,以便锁定服务以通过HTTPS进行通信.我继续得到错误,我不确定它是否与我创建证书的方式,我的Apache/PHP设置,我尝试建立SOAP请求的方式或其他方面有关.如果有人有任何指示,他们将不胜感激.提前致谢.
这就是我创建证书的方式.
创建受信任的根私钥:
genrsa -out ca_authority_prv.pem 2048
创建受信任的根颁发机构证书:
req -new -key ca_authority_prv.pem -x509 -out ca_authority_cert.pem
使证书颁发机构信任:
x509 -in ca_authority_cert.pem -out ca_authority_trust.pem -trustout
退出OpenSSL并创建一个串行文件:
echo 1000> ca_authority.srl
创建客户端私钥:
genrsa -out Client_prv.pem 2048
创建客户端请求:
req -new -key Client_prv.pem -out Client_req.pem
与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
为客户端证书制作pfx
pkcs12 -export -in Client_cert.pem -inkey Client_prv.pem -out Client_cert.pfx
创建此证书后,我按照相同的步骤获取服务器证书,并且:
将受信任的根CA添加到计算机受信任的根存储中
将服务器证书添加到计算机存储
设置IIS以使用服务器证书并要求客户端证书
这是我用来建立PHP SOAP请求的代码(下面是错误):
$wsdl = "https://localhost/MyService/MyService.asmx";
$local_cert = "C:\\Certs\client_cert.pem";
$passphrase = …Run Code Online (Sandbox Code Playgroud) 在任何时候使用Moq编写单元测试时,我调用Elmah.ErrorSignal.FromCurrentContext它失败并带有空引用异常.我能够模拟ControllerContext,我想只使用这样的错误日志命令..
Elmah.ErrorSignal.FromContext(ControllerContext.HttpContext).Raise(e);
Run Code Online (Sandbox Code Playgroud)
但不幸的ControllerContext.HttpContext是,它是类型的HttpContextBase,不适用于此错误记录方法.
有没有更好的方法直接调用Elmah错误记录?不幸的是,该Application.HttpContext对象不能被嘲笑(下面的例子)或者也可以用于此目的.
模拟Application和Application.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中可覆盖)成员上的设置无效
我正在使用Angular JS来获取和发布数据到我的MVC 4控制器作为JSON.除DateTime/DateTime外,我的所有属性都正确转换?类型.我希望有一个"设置并忘记它"处理日期的方法,以便添加的新类和/或属性不必记住进行一些特殊的转换以正确处理日期.我已经看到了以下方法和可能的缺点.人们在同一平台上使用什么方法?MVC4中是否存在正确处理此问题的内容,我可能没有配置?任何建议将不胜感激.
请参阅以下代码示例.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) 在观看了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()+ …
有几次我被问到以下问题并觉得我可以有更好的答案,所以我在这里转发它,希望能找到更多资源,博客书籍或编写可扩展MVC3 C#代码的指针.如果您有关于编写跨多个服务器托管的性能更好的代码的任何指示,我将非常感激.为了争论,我们可以说这将是一个预计每天达到10-20K点击率的代码.
问题:编写分布在多个服务器上的可伸缩代码时,您考虑了哪些编码注意事项?
我的直觉告诉我答案在于处理会话.我在过去几年的背景是编写服务和表单应用程序而不是Web应用程序,所以我正在寻找可以帮助我进行Web应用程序特定开发的信息,特别是对于C#MVC3.任何博客或书籍,你建议我一定会考虑!
我正在开发一个MVC 3应用程序,该应用程序将托管在具有多工作进程设置的Web场中.有大约十几个变量存储在Session中,但由于IIS设置而丢失.
通过迷失我的意思是当登录过程成功时,我通过记录看到我已经设置了Session变量但是在重定向操作之后并且在着陆Controller Action上,Session变量通常是空的.我不确定这是否相关,但这是在HTTPS中.
我们正在考虑将存储在Session out中的用户特定设置移动到其他机制的可能性,但是有一个变量我将无法使用它.鉴于上述部署环境,我有以下问题.
System.Runtime.Caching,在上面的IIS配置中运行时遇到了同样的问题.真的吗?我正在使用以下knockout observableArray和计算列代码但是当我将值推送到可观察数组时,UI(对于数据绑定计算)不会更新.请参阅我的jsFiddle示例.
有没有更好的方法将值推送到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) angularjs ×3
asp.net ×2
asp.net-mvc ×2
javascript ×2
.net ×1
azure ×1
c# ×1
elmah ×1
https ×1
iis-7 ×1
json ×1
knockout-2.0 ×1
knockout.js ×1
moq ×1
php ×1
scalability ×1
soap ×1
ssl ×1
unit-testing ×1