我即将在服务器上推出 GCM 的实现,需要通过 IP 打开适当的防火墙。
有谁知道我在哪里可以找到 android.googleapis.com 的 IP 地址范围?
谢谢!
我已经设置了一个自定义提供程序,允许从数据存储而不是静态代码中设置验证属性.在我的.NET MVC 4项目中使用客户端验证非常有用,但我无法让服务器端验证工作.
CustomModelValidatorProvider .cs:
public class CustomModelValidatorProvider : DataAnnotationsModelValidatorProvider
{
protected override IEnumerable GetValidators(ModelMetadata metadata, ControllerContext context, IEnumerable attributes)
{
// set attributes from datastore here
return base.GetValidators(metadata, context, attributes);
}
}
在我的Global.asax.cs中,我有:
protected void Application_Start()
{
ModelValidatorProviders.Providers.Clear();
ModelValidatorProviders.Providers.Add(new CustomModelValidatorProvider());
}
在Web API方法中,我有:
var validationResultList = new List();
bool valid = Validator.TryValidateObject(myModelObject, new ValidationContext(myModelObject, null, null), validationResultList, true);
在这里,有效总是如此.即使Jquery客户端验证显示错误.在服务器端,我的自定义提供程序不用于应用数据注释.当我在GetValidators()中设置断点时,在创建View时调用它并正确显示客户端验证器,但是当模型绑定到控制器时不会再次调用它.
我错过了一步吗?任何帮助是极大的赞赏!
UPDATE
当对象发布到Controller时,自定义验证器可以正常工作,但是当发布到ApiController时不会被触发.
c# asp.net-mvc model-validation data-annotations asp.net-web-api