我在Message Brokers和ESB上经历了不同的问题/文章(甚至在stackoverflow上).仍然不是一个线索,因为消息代理和ESB之间的CLEAR划分区别是什么?现在我在这里尝试比较产品,Websphere Broker和Mule ESB !!
首先,(任何版本)Webshere Broker是ESB吗?我们的IBM产品人员声称它是ESB!(我并不感到惊讶).
我的有限信息告诉我Message Broker在HUB-SPOKE模型上工作.然而,ESB适用于总线架构.那究竟是什么意思呢?我读过如果HUB失败(我猜不到)那么经纪人就完全失败了.这不是ESB的情况(所以那些人说).我在这里不明白的是"如果BUS怎么办"失败?
现在关于ESB和Brokers的常见内容是,它们提供路由,转换,编排等.所以如果它们都提供了这个,那么为什么我会选择一个而不是另一个.
另一个冲突领域是转型.与Message Brokers相比,ESB是否以不同的方式为其提供便利?我真的很喜欢这方面的一些见解.
现在谈论HORIZONTAL缩放.谁比谁更优秀?或者它们在复杂性(或任何其他因素)方面都具有相同的可扩展性.当然,Webshpere Broker会为每个盒子收费(更不用说每个cpu)了.我相信,即使是商业上的MULE ESB也不会这样做.暂且不说它的Cost部分,ESB扩展和Message Broker扩展的含义是什么.我碰巧知道您可以扩展到ESB中的服务级别.这是否可以在Message Broker中使用?
任何一位犀牛专家都可以通过给出一个合适的例子说明上述方法MockRepository
(Rhino Mocks框架)之间的差异来解释我.
应该在哪里使用Stub而不是Mock方法?
我有4个字符串:
"h:/a/b/c"
"h:/a/b/d"
"h:/a/b/e"
"h:/a/c"
Run Code Online (Sandbox Code Playgroud)
我想找到这些字符串的公共前缀,即"h:/a"
.怎么找到?
通常我会用分隔符拆分字符串'/'
并将其放在另一个列表中,依此类推.
有没有更好的方法呢?
我有一个视图,其中定义了一个部分:
<div id="QuestionBody">
<p><%=ViewData.Model.Body %></p>
<div id="QuestionEditLink"><%=Html.ActionLink ("Edit","EditQuestion","Question",new {id=Model.QuestionId},null) %></div>
<div id="QuestionHistoryLink"><%=Html.ActionLink ("History","ShowHistory","Question",new {postId=Model.PostId,questionId=Model.QuestionId},null) %></div>
<div id="AnsweringUser"><a href="/Profile/Profile?userName=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid%3Fid%3DAItOawnZ6IhK1C5cf_9wKstNNfSYIdnRp_zryW4">Answered by Sam</a></div>
</div>
Run Code Online (Sandbox Code Playgroud)
这会生成一个带有一些文本的部分,下面会有一些链接.我希望链接彼此相邻.我是css和web开发的新手,但是将它添加到我的样式表中:
#QuestionEditLink
{
color: #666666;
width:auto;
float:left;
padding:2px;
}
#QuestionHistoryLink
{
color: #666666;
width:auto;
float:left;
padding:2px;
}
Run Code Online (Sandbox Code Playgroud)
并且嘿presto链接很好地对齐.不幸的是,它们也是不可点击的,实际上光标在移动它们时也不会改变.
那我做错了什么?如何使用css将两个链接对齐,以便它们仍然可以点击?
编辑:
此行为在chrome 8.0.552.215和firefox 3.6中.它的工作方式与我在IE 8中的预期一样令人讨厌.
EDIT2:
我已将页面添加到JSBin:http://jsbin.com/odefa4/edit ,它显示了该问题.只有问题的样式并显示问题,答案的链接工作正常...
我正在尝试从数据库表中的字符串中获取由","分隔的多个电子邮件地址,但它也返回了我的空格,我想快速删除空白.
下面的代码并删除空白,但每当我尝试像30000的字符串来获取大量的电子邮件地址,它也变得缓慢,然后尝试消除它们之间的空白.删除这些空间需要四到五分钟.
Regex Spaces =
new Regex(@"\s+", RegexOptions.Compiled);
txtEmailID.Text = MultipleSpaces.Replace(emailaddress),"");
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我,即使是大量的电子邮件地址,如何在一秒内删除空格?
我希望能够根据用户使用的屏幕分辨率更改我的网页背景图像:
如果屏幕分辨率大于或等于1200*600,那么background = mybackground.jpg no-repeat or else.我怎样才能做到这一点?
我正在构建一个网站,并且还希望构建一个REST Web服务来访问许多相同的功能(使用谷歌应用程序引擎和弹簧mvc3),我不确定如何集成/分离这两个部分的最佳实践应该.
例如,如果我想查看资源,我可以在表单中提供一个url:
{resourcetype}\{resourceid}
Run Code Online (Sandbox Code Playgroud)
可以在视图中重定向对此URL的GET请求,该视图在客户端基于HTML /浏览器时生成网页.Spring(从我读到的 - 尚未尝试过)能够使用相同的资源URL来提供视图,该视图根据内容类型返回HTML/Xml/JSON.这一切看起来都很棒.
对URL的POST请求在REST中创建新资源应该返回201 CREATED(或者我读过)以及创建的资源的URL,这似乎对Api来说很好,但是看起来与预期的有点不同.一个网页(您可能会将其重定向到显示您创建的资源的页面,或者重定向到一个页面,表明它已成功创建或类似).我应该通过在包含创建资源的表单的不同URL上提供页面来处理此问题,然后通过ajax提交到Api URL并获取响应并重定向到响应中包含的资源URL.
这种模式似乎可以工作(也应该适用于DELETE),但这是一个好方法还是我最好保持REST Api URL和网站URL分开?这似乎可以引入一些重复和额外的工作.但是,拥有一个URL可能意味着您依赖于HTML 5支持浏览器的客户端上的javascript.
当我应该使用configurationManager.AppSettings或visual studio生成的强类型设置时,应该指示什么?在大多数情况下,强类型的似乎更合适,但我认为可以使用ConfigurationManager方法动态地将设置添加到已部署的应用程序,但是在是否有任何指导条件下,每种情况都可以使用?
我有一个VB6项目,并启用它来生成pdb文件(这显示了如何做到这一点).但是我不能用它们调试,当我用symcheck检查它时,我得到这个输出:
>SYMCHK: MyFile.dll FAILED - MyFile.pdb mismatched or not found
>SYMCHK: FAILED files = 1
>SYMCHK: PASSED + IGNORED files = 0
Run Code Online (Sandbox Code Playgroud)
我已经用详细输出检查了它找到了pdb(甚至将它移动到它检查的目录),但它似乎并不想匹配.
可能导致这种情况的原因以及我该怎么办?
我想从命令行运行coverage,但似乎无法获得NCover 1.5.8来检测代码.当我使用TestDriven.net运行覆盖测试时,它必须是可行的.差别似乎是TD.NET是能够得到NCover使用的框架4.0(在日志中得到这个在运行时:MESSAGE: v4.0.30319
),但在命令行中我不能让它(我得到这个在日志中:MESSAGE: v2.0.50727
)
那么如何让NCover在命令行中与nunit一起玩得很好,就像在TD.NET中一样呢?
.net ×3
c# ×2
string ×2
appsettings ×1
background ×1
css ×1
css-float ×1
esb ×1
hyperlink ×1
image ×1
java ×1
messaging ×1
ncover ×1
nunit ×1
pdb-files ×1
resolution ×1
rhino-mocks ×1
screen ×1
spring-mvc ×1
unit-testing ×1
vb6 ×1
web-services ×1
whitespace ×1