我正在进行MVC3 unrobustive远程验证以检查用户名可用性.
它工作正常,但需要相当长的时间加载验证消息!有没有办法在过渡期间显示微调器/用户名可用的检查消息?
我正在尝试创建一个ValidationAttribute (用于远程验证,仅适用于服务器端),并且在IsValid方法内部,我需要从url路由值中解析url.这是我的初始设置:
public class ServerSideRemoteAttribute : ValidationAttribute {
public string Controller { get; set; }
public string Action { get; set; }
public object RouteValues { get; set; }
public ServerSideRemoteAttribute(string controller, string action) {
this.Controller = controller;
this.Action = action;
}
public ServerSideRemoteAttribute(string controller, string action, object routeValues) {
this.Controller = controller;
this.Action = action;
this.RouteValues = routeValues;
}
protected override ValidationResult IsValid(object value, ValidationContext validationContext) {
//Here I need to resolve the url in order to make …Run Code Online (Sandbox Code Playgroud) 我总是使用以下自执行函数,以避免在JavaScript中将我的代码暴露给全局范围:
(function() {
//Code comes here
})();
Run Code Online (Sandbox Code Playgroud)
我相信这也被称为自执行匿名函数.有时,我也看到以下代码用于同一目的:
(function(d){
//Code comes here
})(document.documentElement);
Run Code Online (Sandbox Code Playgroud)
我不确定这里有什么不同所以我问这个问题.
JavaScript上这两种类型的自执行函数有什么区别(或区别)?
我看到一些人在Constants具有const属性的类名中定义配置(如键,一些静态名称等).
我知道这是使用配置文件对于这种情形最优雅的方式如下描述,但什么是优势?我可以假设,即使它有一点点,也必须有性能优势.
当我尝试通过iisexpress.exe直接运行网站时,我收到一个错误.这适用于所有网站.我使用的命令如下:
.\ iisexpress.exe/site:MultipleRoutes
该网站成功启动但我收到以下错误:
HTTP错误500.21 - 内部服务器错误
处理程序"ExtensionlessUrl-Integrated-4.0"在其模块列表中有一个错误的模块"ManagedPipelineHandler"
我假设网站不是在ASP.NET下运行但是当我通过VS启动网站时,没有问题.
任何的想法?
编辑:
这是另一个事实:当我尝试通过指定路径而不是在applicationHost.config文件中注册的站点名称来运行网站时,该站点运行完全正常:
.\ iisexpress.exe/path:D:\ Dropbox\Apps\MultipleRoutes/port:1672 /clr:v4.0
.NET 4.5包含一个名为as的新验证属性CreditCardAttribute,该属性指定数据字段值是信用卡号.当我反编译包含此类的程序集时,我可以看到以下代码用于信用卡号验证:
public override bool IsValid(object value)
{
if (value == null)
{
return true;
}
string text = value as string;
if (text == null)
{
return false;
}
text = text.Replace("-", "");
text = text.Replace(" ", "");
int num = 0;
bool flag = false;
foreach (char current in text.Reverse<char>())
{
if (current < '0' || current > '9')
{
return false;
}
int i = (int)((current - '0') * (flag ? '\u0002' : '\u0001'));
flag …Run Code Online (Sandbox Code Playgroud) 我有一个非常不受欢迎的情况,需要我反序列化JSON,其中值是JSON.NET的字段名称.假设我有以下JSON,结构非常合理:
{
"name": "tugberk",
"roles": [
{ "id": "1", "name": "admin" },
{ "id": "2", "name": "guest" }
]
}
Run Code Online (Sandbox Code Playgroud)
使用JSON.NET将其反序列化为CLR对象非常容易:
class Program
{
static void Main(string[] args)
{
var camelCaseSettings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() };
var text = File.ReadAllText("user_normal.txt");
var obj = JsonConvert.DeserializeObject<User>(text, camelCaseSettings);
}
}
public class User
{
public string Name { get; set; }
public Role[] Roles { get; set; }
}
public class Role
{
public int Id { get; set; …Run Code Online (Sandbox Code Playgroud) 如何将其记录CorrelationManager.ActivityId为单独的字段?
这是我当前的 NLog.config:
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<variable name="logDirectory" value="${basedir}/Logs" />
<extensions>
<add assembly="NLog.Mongo"/>
</extensions>
<targets>
<target xsi:type="Mongo"
name="mongoCustom"
includeDefaults="false"
connectionString="mongodb://localhost/FooLogging"
collectionName="authLogs">
<field name="Date" layout="${longdate:universalTime=true}" />
<field name="Level" layout="${level}"/>
<field name="Message" layout="${message}" />
<field name="Logger" layout="${logger}"/>
<field name="Exception" layout="${exception:format=tostring}" />
<field name="ThreadID" layout="${threadid}" />
<field name="ThreadName" layout="${threadname}" />
<field name="ProcessID" layout="${processid}" />
<field name="ProcessName" layout="${processname:fullName=true}" />
<field name="UserName" layout="${windows-identity}" />
</target>
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="mongoCustom" />
</rules>
</nlog>
Run Code Online (Sandbox Code Playgroud) 我在这里碰到的东西很奇怪,但是我不确定是不是我知道TimeSpan API错误。打印出以下内容false,我不确定为什么:
var foo = TimeSpan.FromMilliseconds(123.34d);
var bar = TimeSpan.FromMilliseconds(123.33d);
Console.WriteLine(foo > bar);
Run Code Online (Sandbox Code Playgroud)
以下打印true:
var foo = TimeSpan.FromMilliseconds(123.34d);
var bar = TimeSpan.FromMilliseconds(123.33d);
Console.WriteLine(foo == bar);
Run Code Online (Sandbox Code Playgroud)
进行比较时是否不TimeSpan.FromMilliseconds考虑毫秒精度?
在我工作的项目中,我需要生成一个单页HTML文件,其中包含其中的所有内容(JavaScript代码,CSS,图像等).所以,应该没有外部参考.
我也打算使用Bootstrap,但我不确定是否可以像CSS一样在HTML中嵌入字体文件.
任何的想法?
c# ×5
.net ×4
asp.net ×3
asp.net-mvc ×2
algorithm ×1
appsettings ×1
credit-card ×1
css ×1
font-face ×1
fonts ×1
html ×1
iis ×1
iis-7 ×1
iis-express ×1
javascript ×1
jquery ×1
json ×1
json.net ×1
loading ×1
logging ×1
nlog ×1
time ×1
trace ×1
validation ×1