小编Jon*_*vis的帖子

为什么像Lucene/Solr这样的文档存储不包含在NoSQL会话中?

我们所有人最近都遇到了最近对无SQL解决方案的大肆宣传.MongoDB,CouchDB,BigTable,Cassandra等已被列为无SQL选项.这是一个例子:

http://architects.dzone.com/articles/what-nosql-store-should-i-use

但是,三年前我和一个同事使用Lucene.NET似乎符合无SQL的描述.我们并没有将其用于用户输入的搜索查询; 我们使用它来使一些重新编制索引的RDBMS表数据非常高效.我们实现了自己的.NET等价于Solr服务,以管理这些索引并使它们可调用.当我离开公司时,团队切换到Solr本身.(对于那些不知情的人,Solr是一个Web服务,它使用REST可调用查询和索引转储来包装Lucene.)

我不明白的是,为什么Solr不计入典型的无SQL解决方案选项列表?我在这里错过了什么吗?我假设Solr与CouchDB等不相似的技术原因,实际上我理解CouchDB使用Lucene作为其数据存储(是吗?),但是什么使Solr失去资格?

我不是要求某种Solr粉丝或任何东西,我只是不明白为什么Solr之类的东西不符合no-SQL的定义,如果Solr在技术上确实符合定义,那么它有什么可能使得人们呸呸吗?我问,因为我很难确定是否应该继续使用基于Lucene的解决方案(如Solr)来构建我构建的解决方案,或者我是否应该对这些其他选项进行更多的研究.

lucene solr nosql

62
推荐指数
3
解决办法
2万
查看次数

选择特定于数据库的对象时,SQL Server Management Studio连接默认为"master"

在SQL Server 2008 R2 Management Studio中,如果我右键单击特定数据库中的对象并选择"选择前1000行..",则查询窗口的数据库连接始终在"master"上打开,而表名完全合格为[数据库].[dbo].[table].这使得无法跳入并调整此查询并将连接等插入到语句中,而无需完全限定我添加的所有内容,或添加USE语句,或从下拉菜单中选择数据库.

是否有一个设置或某些东西会使查询窗口打开所选对象浏览器的数据库的数据库连接,而不是连接到'master',而不是在查询文本中完全限定对象的数据库?我意识到我可以将我的SQL连接注册到我的数据库的默认值,但我们实际上每周都会经历多个新数据库 - 在给定的月份我将触及数十个数据库 - 因此管理多个数据库注册将很困难.如果SSMS刚刚连接到指定的数据库,我宁愿这样做.可能和直截了当?

sql sql-server ssms sql-server-2008

23
推荐指数
3
解决办法
2万
查看次数

如何解决或删除此Visual Studio资源警告?

任何人都可以在这里帮助我们 - 我们已经有几个月的这个错误,并有很多人去除它,但我们仍然想知道为什么它在那里或如何删除它.如何解决或删除此警告?

警告351自定义工具"GlobalResourceProxyGenerator"与文件"App_GlobalResources\GridLocalization.bg-BG.resx"关联,但在项目中找不到自定义工具的输出.您可以尝试通过右键单击解决方案资源管理器中的文件并选择"运行自定义工具"来重新运行自定义工具.

visual-studio-2010

13
推荐指数
2
解决办法
5820
查看次数

在localhost上运行时,JSONP回调不会执行

这很奇怪,我想知道是否有人可以解释为什么会发生这种情况.

基本上,我一直在试图测试JSONP,所以我可以实现其他网站可以使用的JSON Web服务.我正在localhost上进行开发 - 特别是Visual Studio 2008和Visual Studio 2008的内置Web服务器.

因此,作为使用jQuery的JSONP测试运行,我实现了以下内容:

$().ready(function() {
  debugger;
  try {
    $.getJSON("<%= new Uri(Request.Url, "/").ToString() %>XssTest?callback=?", function(data) {
        alert(data.abc);
    });
  } catch (err) {
    alert(err);
  }
});
Run Code Online (Sandbox Code Playgroud)

并在服务器上..

<%= Request["callback"] %>({abc : 'def'})
Run Code Online (Sandbox Code Playgroud)

所以最终发生的事情是我在服务器上设置一个断点,我在第一个"调试器"上得到了断点.客户端脚本以及服务器上的语句.页面加载后确实会调用JSONP URL.那工作得很好.

我遇到的问题是回调永远不会执行.我在IE8和Firefox 3.5中测试了这个.两个人都不会调用回调.从未达到过捕获(错误).什么都没发生!

我已经坚持了一个星期,甚至在指定端口上的Telnet中使用手动键入的HTTP请求进行测试,以确保服务器返回格式...

callbackfn({abc : 'def'})
Run Code Online (Sandbox Code Playgroud)

..它是.

然后我突然意识到,如果我使用globalizer('.')将主机名从localhost更改为localhost,即http://localhost.:41559/而不是http:// localhost:41559 /(是的,添加一个dot到任何主机名都是合法的,它是DNS global::到C#名称空间的东西).然后它奏效了!当我刚添加一个点时,Internet Explorer和Firefox 3.5终于向我显示了一条警告消息.

所以这让我想知道,这里发生了什么?为什么后期脚本标记生成使用Internet主机名而不是普通的localhost?或者这是正确的问题?

显然这是出于安全原因而实现的,但他们试图确保什么?并且,通过使用点来处理它,我是否只是在此安全功能中暴露了一个安全漏洞?

顺便说一句,我的主机文件,虽然改为其他主机,没有任何特殊的localhost; 默认的127.0.0.1/:: 1仍然存在,下面没有覆盖.

后续行动:我通过添加以下内容将其用于本地开发目的:

127.0.0.1   local.mysite.com
Run Code Online (Sandbox Code Playgroud)

..到我的hosts文件,然后将以下代码添加到我的global.asax:

protected void Application_BeginRequest(object sender, EventArgs e)
{
    if (Request.Headers["Host"].Split(':')[0] == "localhost")
    {
        Response.Redirect( …
Run Code Online (Sandbox Code Playgroud)

javascript xss jsonp localhost

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

C#4.0:为什么在有ExpandoObject时有了MethodBag?

我不明白,为什么我可以使用ExpandoObject时使用动态MethodBags?我在这里错过了什么?

c# .net-4.0 c#-4.0

7
推荐指数
2
解决办法
1037
查看次数

如何在 MSBuild 目标中重新运行属性评估?

我有一个自定义的 MSBuild 目标,部分代码片段如下..

<Target Name="PublishHtm">
  <PropertyGroup>
    <PublishHtmTemplateContents>$([System.IO.File]::ReadAllText($(PublishHtmTemplatePath)))</PublishHtmTemplateContents>
    <PublishHtm>$(PublishHtmTemplateContents)</PublishHtm>
  </PropertyGroup>
  <WriteLinesToFile Lines="$(PublishHtm)" File="$(PublishDir)\publish.htm" Overwrite="true"/>
</Target>
Run Code Online (Sandbox Code Playgroud)

这是对此解决方案的一次返工尝试,因为我试图将此模板隔离到外部文件。该模板包含 MSBuild 属性引用,例如$(ApplicationName). 当完全按照链接解决方案中的描述执行此操作时,它工作得很好,但是当将模板作为字符串加载时,这些属性表达式在到达文件时都不会被评估。

<SPAN CLASS="BannerTextApplication">$(ApplicationName)</SPAN>
Run Code Online (Sandbox Code Playgroud)

是否有一个 MSBuild 表达式/函数可以用来在给定调用目标的上下文的情况下重新评估字符串?

顺便说一句,我不想​​使用查找/替换或正则表达式替换来解决问题,而是坚持使用 MSBuild 表达式引擎。

使用 Visual Studio 2012 和 .NET Framework 4.5。

msbuild msbuild-task msbuild-4.0

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

"告诉,不要问"是否适用于用户输入验证?

这些年来,我不得不忽略了"告诉,不要问"OOP原则,因为我刚刚第一次了解它.

但是上下文是关于验证代码的讨论,该代码已经从ASP.NET Web表单页面转移到数据/业务对象中,并且没有"Validate()"方法,只是一个本身进行验证的save方法. (据说)提出了一个例外.我问为什么这是以这种方式设计的,我被引导到OOP的"告诉,不要问"原则,这是我从未听说过的,所以我们一起看了谷歌,我立即接受了教育.;)

然而,某些东西闻不到正确,不应该在将数据从用户转移到处理和/或收集的业务层之前清除数据,而不是反过来?我对如何做好设计感到困惑.

这似乎是规则"出来,不问"是关于你不应该问目标对象的状态下,目标对象的想法,并认为这一原则从来没有真正打算应用到数据传递了目标对象.

oop tell-dont-ask

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

.NET WF4:它应该在一切的中间吗?

我正在研究一种基本上是n层协作应用程序的新架构(不是企业级,只是一个有可能大幅增长的小项目),我已经在努力训练自己使用IoC,在某种程度上, TDD,我想知道,一般来说,只是手工编写工作流逻辑是否明智,或者我是否应该深入学习和整合WF4(Windows Workflow 4.0,.NET 4.0的一部分),以便WF成为字面意思整个应用程序的控制器,即"MVC"中的实用C(不是ASP.NET MVC,而是模式).那么WF4中的工作流活动是否应该成为高度可扩展/可扩展的基于Web的协作应用程序的主要控制器?或者我问完全错误的问题?

这是一个模糊的问题,我敢肯定,所以抽象的答案和特定的答案一样受欢迎.

我知道WF4是对WF3进行重大改造和重新设计的地方,WF3在WF4中已经清理了很多使WF3成为糟糕技术选择的东西.例如,据我所知(虽然我看起来并不是很努力,而且几乎没有对此进行报道),WF4活动或多或少可以通过[TestMethod]和嘲弄测试(有人知道请确认?WF的可测试性对我们来说是一个巨大的问题).我对使用WF的XML图表或后期加载很感兴趣,我更喜欢编写具体的C#工作流声明,但如果工作流可以用编译语言简洁地编写并且可以测试,我很想付钱注意它.因此,如果有这些改进,其他诸如改善性能之类的技术再次引起了我对该技术的关注,而我之前曾对WF3进行过嘲讽.

此外,根据微软的说法,WF4是微软希望在未来使用MS CRM,MS SharePoint等不同工作流技术的经验教训后,为所有众多工作流程驱动的产品实现标准化的目标.我当然对赌博感到好奇一个通用的功能,但只有实现可以简洁,在编译时进行类型检查,可测试和可维护.

编辑:只有那些知道WF4(而不是WF3)的人的答案才会被认为是"答案".

.net .net-4.0 workflow-foundation

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

占位符框的 CSS(设计时所见即所得)

这是一个“愚蠢的”但希望是合法的,如果不是特别必要的挑战,设计师可以在任何地方重复使用,我敢肯定,如果可以得到答案。

我正在使用 WYSIWYG-ish 编辑器 (MS Expression Web 4) 并试图生成基于 HTML 的线框,我打算将其作为实际生产的基础。原始/干净的 HTML 是 #1 目标,我想有一个占位符的模式,我可以指定以下 HTML(除了高度、宽度和文本会有所不同外,没有其他内容),它应该显示为矩形带有“X”的框,文本(在本例中为“徽标”)出现在底部或中间,文本后面有白色背景

<div class="placeholder" style="width: 200px; height: 50px;">Logo</div>
Run Code Online (Sandbox Code Playgroud)

我的问题是实现我想要的效果所需的 CSS 和最少的 HTML 标记(例如 img 标签)是什么?例如,如果使用以下 HTML:

<div class="placeholder">
    <img src="placeholder-xbox.png" width="200" height="200"/>
    Logo
</div>
Run Code Online (Sandbox Code Playgroud)

或者

<div class="placeholder">
    Logo
    <img src="placeholder-xbox.png" width="200" height="200"/>
</div>
Run Code Online (Sandbox Code Playgroud)

这在 HTML 方面是可以接受的折衷方案,但是要使这项工作发挥作用的 CSS 是什么?

我知道我可以使用 jQuery 来劫持干净的 HTML 来生成肮脏的 HTML 来实现我想要做的事情,但我在设计时需要这个。

下面这个假截图正是我要找的。我想删除一小段干净的 HTML,并可能使用 WYSIWYG 界面中的锚点来缩放占位符,而标签保持在中间底部或中间中间。 目标

我有一个白色的图像,上面有一个黑色的 X。 占位符图像

我非常怀疑 CSS 是否会在不破坏 HTML 的情况下支持我想要的内容。但是,我想看看是否有人知道它是否可行。这是我的开始,这当然不起作用,因为背景图像不会缩放,文本不会垂直对齐,等等。

.placeholder { 
 display: inline;
 background-image: url('placeholder-xbox.png'); …
Run Code Online (Sandbox Code Playgroud)

html css placeholder

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

ELMAH是否默认实施并启用了防洪保护?

任何人都可以确认Elmah实现了防洪行为,并且默认情况下启用了此行为,或者是否可以通过web.config轻松启用?如果是,那么时间阈值是否可配置?

我建议将Elmah数据库模式设置到我们的数据库,但是如果我们的数十万或数百万网络访问者发生错误,我们的DBA对错误日志消耗大量存储空间有合理的担忧.如果没有达到某个时间阈值,我以为我在Elmah中看到了过滤掉重复异常日志的行为,但是我无法验证这种行为,正在Google上搜索有关此功能的文档.

asp.net logging error-logging elmah

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