小编Rya*_*yan的帖子

Twitter Bootstrap CSS影响谷歌地图

我正在使用Twitter Bootstrap,并拥有Google地图.

地图上的图像(例如标记)在Bootstrap中被CSS扭曲.

在Bootstrap CSS中有:

img {
    border: 0 none;
    height: auto;
    max-width: 100%;
}
Run Code Online (Sandbox Code Playgroud)

当我max-width使用Firebug 禁用该属性时,标记图像显示为正常.如何防止Bootstrap CSS影响Google地图图像?

css google-maps twitter-bootstrap

147
推荐指数
4
解决办法
5万
查看次数

ASP .NET MVC在每个字段级别禁用客户端验证

我正在使用带有Data Annotations的ASP .NET MVC和jQuery validate插件.

有没有办法标记某个字段(或某些数据注释)应该只在服务器端验证?

我有一个带有屏蔽插件的电话号码字段,正则表达式验证器在用户端变得疯狂.正则表达式只是一个故障安全(如果有人决定破解javascript验证),所以我不需要它在客户端运行.但我仍然喜欢运行客户端的其他验证.

c# validation asp.net-mvc jquery jquery-validate

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

将SynchronizationContext设置为null而不是使用ConfigureAwait(false)

我有一个库,它公开了方法的同步和异步版本,但是在引擎盖下,它们都必须调用异步方法.我无法控制异步方法(它采用异步/等待和不使用ConfigureAwait(false)),我也不能更换.

代码在ASP .NET请求的上下文中执行,所以为了避免死锁,这就是我所做的:

var capturedContext = SynchronizationContext.Current;
try
{
    // Wipe the sync context, so that the bad library code won't find it
    // That way, we avoid the deadlock
    SynchronizationContext.SetSynchronizationContext(null);

    // Call the async method and wait for the result
    var task = MyMethodAsync();
    task.Wait();

    // Return the result
    return task.Result;
}
finally
{
    // Restore the sync context
    SynchronizationContext.SetSynchronizationContext(capturedContext);
}
Run Code Online (Sandbox Code Playgroud)

这是否产生与MyMethodAsync在ConfigureAwait(false)其所有await上使用的效果相同的效果?我忽略了这种方法还有其他一些问题吗?

(MyMethodAsync完全没有意识到它是在ASP .NET上下文中运行的,它不会执行任何调用HttpContext.Current或类似的任何操作.它只是执行一些异步SQL调用,而编写器没有放置ConfigureAwait(false)任何这些调用)

c# asp.net async-await

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

每个CLR或每个进程是否有一个托管堆?

据我所知,在.NET 4.0之前,事情很简单:一个进程只能托管一个CLR.

但是从版本4.0开始,一个进程可以托管多个CLR.

在这种情况下,我猜每个CLR有一个堆,因为每个CLR都有自己的状态和自己的GC,它有自己管理内存和自己的收集周期的方式,所以共享内存似乎是不可能的.

1)你能否确认这是最终的情况还是更微妙?

2)两个CLR是否在同一个过程中被严格隔离,还是可以分享?(特别是如果他们有相同的版本,他们可以互相了解)

我想答案是肯定的和是(孤立的),但我想确定.

感谢您的任何见解.

.net heap clr

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

Windows SDK - C# - 调试进程退出,错误代码为-1073741502

精简版

当进程退出错误代码-1073741502时,如何确定哪个DLL无法加载(以及可能的原因)?

长版

我正在尝试为Mercurial编写一个pretxnchangegroup挂钩,作为该挂钩的一部分,我需要获取运行该命令的输出:

hg log

我用来启动和运行hg.exe进程的代码如下:

string Command = "log";
Process p = new Process();

ProcessStartInfo psi = p.StartInfo;
p.StartInfo.FileName = @"C:\Program Files (x86)\Mercurial\hg.exe";

psi.CreateNoWindow = true;
psi.LoadUserProfile = true;
psi.RedirectStandardError = true;
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;

psi.WorkingDirectory = Environment.CurrentDirectory;

p.StartInfo.Arguments = Command;


// Pass-through environment variables
psi.UserName = Properties.Settings.Default.HG_User;
psi.Domain = Properties.Settings.Default.HG_Domain;
psi.Password = new System.Security.SecureString();

foreach (char c in Properties.Settings.Default.HG_Pass)
{
    psi.Password.AppendChar(c);
}

p.Start();      
p.WaitForExit();
Run Code Online (Sandbox Code Playgroud)

问题是该过程一直以错误代码-1073741502退出,而不会在标准输出或标准错误上输出任何内容.经过网上的一些研究,我发现这个错误代码与应用程序无法正确初始化有关(找不到DLL,可能?),但我不知道如何去搞清楚如何修复它.

请记住,当我通过Web推送到存储库时,会调用此挂钩(因此,IIS通过Python调用Mercurial CGI,将此程序配置为挂钩).

在一个完全不同的Web应用程序中,我能够正常运行HG命令,并且我还可以通过执行此runas /user:<same account as in the …

c# windows mercurial winapi process

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

将对象转换为Dictionary <TKey,TValue>

我在C#中有一个函数,它在泛型Dictionary上运行:

public static string DoStuff<TKey, TValue>(Dictionary<TKey, TValue> dictionary)
{
    // ... stuff happens here
}
Run Code Online (Sandbox Code Playgroud)

我还有一个循环对象的函数.如果其中一个对象是Dictionary <>,我需要将它传递给该泛型函数.但是,我不知道在编译时键或值的类型是什么:

foreach (object o in Values)
{
    if (/*o is Dictionary<??,??>*/)
    {
        var dictionary = /* cast o to some sort of Dictionary<> */;
        DoStuff(dictionary);
    }
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

c# generics dictionary

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

实体框架:如果数据在上下文中,为什么数据库会被命中?

为什么要查找数据库以查找已在ObjectContext中表示的记录?

所以这就是我认为你查询时会发生的事情:

SiteUser someUser = context.SiteUser.Where(role => role.UserID == 1).ToList()[0];

垃圾示例,但我的想法是,我想从id为1的表中获取用户.现在假设这是第一次通过所以我猜测它必须在上下文中创建SiteUser列表,查询数据库,然后填写它的列表.使用分析器我看到这​​个:

SELECT 
 [Extent1].[UserID] AS [UserID], 
 [Extent1].[MainEmail] AS [MainEmail], 
 [Extent1].[Password] AS [Password], 
 [Extent1].[UserName] AS [UserName]
FROM [TIDBA].[TI_USER] AS [Extent1]
WHERE 1 = [Extent1].[UserID]
Run Code Online (Sandbox Code Playgroud)

美丽.它完成了我所期望的并且在SiteUser列表中(如果我使用Watch挖得足够远)我可以看到在上下文SiteUser列表中有一个项目,它恰好是代表此数据行的水合对象.

接下来我想改变一些事情而不保存:

someUser.UserName = "HIHIHI";
Run Code Online (Sandbox Code Playgroud)

现在说出于某种原因我想再次抓住它使用相同的上下文(这是一个奇怪的例子,但它实际上是一个测试,所以我可以证明这种情况发生):

someUser = context.SiteUser.Where(role => role.UserID == 1).ToList()[0];
Run Code Online (Sandbox Code Playgroud)

我认为会发生的是它会查看上下文中的SiteUser列表,因为这就是生成的属性所说的内容.(如果不为null,则返回列表)然后它会查看它是否存在并返回它.没有数据库命中.猜猜是什么意思...

SELECT 
 [Extent1].[UserID] AS [UserID], 
 [Extent1].[MainEmail] AS [MainEmail], 
 [Extent1].[Password] AS [Password], 
 [Extent1].[UserName] AS [UserName]
FROM [TIDBA].[TI_USER] AS [Extent1]
WHERE 1 = [Extent1].[UserID]
Run Code Online (Sandbox Code Playgroud)

人力资源管理.好的,所以我开始想,也许这是一个直觉检查,看看该数据项是否有任何变化,只更新我在客户端上没有更改的值的SiteUser对象.(类似于context.Refresh(RefreshMode.ClientWins,context.SiteUser))所以我把它停在了:

someUser = context.SiteUser.Where(role => role.UserID == 1).ToList()[0];
Run Code Online (Sandbox Code Playgroud)

Line和I更改数据库中的值(密码列)并让它命中数据库.对象上没有任何变化.

这里的东西似乎不对.它命中数据库以选择我已经在上下文中已经水合的对象,但它不应用我在数据库中手动进行的更改.为什么它一直在击中数据库呢?

更新 感谢下面的一些链接,我能够挖掘一下并找到这个:

合并选项 …

entity-framework

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

Google的libphonenumber有多准确?

我想将Google的libphonenumber库合并到我正在研究的CRM解决方案中,以识别以下内容:

  • 电话号码是移动电话还是固定电话
  • 地理位置的数字

我已经在线进行了一些搜索,似乎无法找到任何讨论库用于确定此信息的算法,以及这些方法的可靠性.

是否有任何此类文档(即这些算法的详细信息及其各自的可靠性)?或者真的,有什么可以帮助我理解这个库的封面发生了什么?

libphonenumber

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