有些东西引起了我的注意,我没有找到任何资源.
FileSystemWatcher如何知道何时创建/删除/更改/重命名计算机上的文件"A"?
我认为这适用于轮询,(观察者轮询服务器以检查更新),但在使用Wireshark验证网络活动后,我看到没有使用轮询.SMB协议是否使用可观察/观察者模式?
在这种情况下,服务器如何知道客户端何时不再观察他?
当网络在观察期间跌落并且在之后立即返回时会产生什么后果?
在另一台计算机上使用FileSystemWatcher似乎太容易实现了......
我有一个要求将参数作为Xml传递给我的存储过程.
我在中间层有一个WCF服务,它调用我的数据层,然后将请求转发到适当的存储过程.
设计是WCF服务负责构建Xml以传递到存储库.
我只是想知道是否要控制中间层中Xml中包含的参数,还是使用客户端构建的字典,然后将其转换为中间层的Xml?
目前我已经选择了后者 - 例如:
public TestQueryResponseMessage TestQuery(TestQueryRequestMessage message)
{
var result = Repository.ExecuteQuery("TestQuery", ParamsToXml(message.Body.Params));
return new TestQueryResponseMessage
{
Body = new TestQueryResponse
{
TopicItems = result;
}
}
}
private string ParamsToXml(Dictionary<string, string> nvc)
{
//TODO: Refactor
StringBuilder sb = new StringBuilder();
sb.Append("<params>");
foreach (KeyValuePair<string, string> param in nvc)
{
sb.Append("<param>");
sb.Append("<" + param.Key + ">");
sb.Append(param.Value);
sb.Append("</" + param.Key + ">");
sb.Append("</param>");
}
sb.Append("</params>");
return sb.ToString();
}
Run Code Online (Sandbox Code Playgroud)
但是我可能需要第一种方式.例如
public TestQueryResponseMessage TestQuery(TestQueryRequestMessage message)
{
string xml = …Run Code Online (Sandbox Code Playgroud) 我刚刚开始了一个新项目,并且自然而然地选择使用了许多新技术.
我正在使用(流畅的)NHibernate,ASP.NET MVC 3,我正在尝试应用Repository模式.
我决定将我的业务逻辑分离成一个单独的项目,并定义包装我的存储库的服务,这样我就可以返回POCO而不是NHibernate代理,并在我的前端和DA逻辑之间保持更多的分离.这也将使我能够轻松提供与API相同的逻辑(一项要求).
我选择使用通用IRepository<T>接口,其中T一个是我的NHibernate映射实体,它们都实现了IEntity(我的界面只是一个标记).
问题是这违背了聚合根模式,我开始感受到贫血领域模型的痛苦.
如果我改变了另一个悬挂的物体
在我的服务中,我必须做以下事情:
public void AddNewChild(ChildDto child, rootId)
{
var childEntity = Mapper.Map<ChildDto,ChildEntity>(child);
var rootEntity = _rootrepository.FindById(rootId);
rootEntity.Children.Add(childEntity);
_childRepository.SaveOrUpdate(child);
_rootRepository.SaveOrUpdate(root);
}
Run Code Online (Sandbox Code Playgroud)
如果我不先保存孩子,我会从NHibernate得到一个例外.我觉得我的通用存储库(我目前在一个服务中需要其中5个)不是正确的方法.
public Service(IRepository<ThingEntity> thingRepo, IRepository<RootEntity> rootRepo, IRepository<ChildEntity> childRepo, IRepository<CategoryEntity> catRepo, IRepository<ProductEntity> productRepo)
Run Code Online (Sandbox Code Playgroud)
我觉得不是让我的代码更灵活,而是让它变得更脆弱.如果我添加一个新表,我需要在我的所有测试中更改构造函数(我正在使用DI进行实现,所以这不是太糟糕)但它看起来有点臭.
有没有人对如何重组这种架构有任何建议?
我应该使我的存储库更具体吗?服务抽象层是否太过分了?
编辑:有一些很好的相关问题正在帮助:
c# architecture asp.net-mvc ddd-repositories repository-pattern
我要求在SDL Tridion Rich文本编辑器中为图像生成如下标记:
<div class="imagemasksmall">
<img src="tcm:2-123-16" alt="My amazing image" />
</div>
Run Code Online (Sandbox Code Playgroud)
我最初的想法是使用FormatAreaStyles.css文件添加一个类div.imagemasksmall { },但是如果我在标记中添加div,这似乎只有可用.
有没有办法允许编辑器生成上述标记而无需手动编写代码?
我有一个弹出式div显示在rightclick上(我知道这打破了预期的功能,但Google Docs会这样做,为什么不呢?)但是我显示弹出窗口的元素有一个"标题"属性集,它出现在顶部我的div.我仍然希望工具提示工作,但不是弹出窗口时.
弹出窗口打开/打开时,停止显示工具提示的最佳方法是什么?
编辑:我正在使用jQuery
有吗?
我可以找到关于它从2008年开始实施的文章:
但我似乎无法找到有关如何使用它的任何实际文档.有人用过吗?它存在吗?
我在我的网站上使用Facebook赞.我有一个图库页面,显示图片/视频数据和该数据的喜欢数量.每条数据都有自己的URL,可以被喜欢.
但是,我想在图库导航中显示喜欢的数量,但我不希望人们能够从导航中"喜欢".有没有办法显示没有按钮的喜欢的数量?
我到目前为止看到的唯一方法是使用FQL中的链接统计"表":http://developers.facebook.com/docs/reference/fql/link_stat/
是否有更简单的方法,因为这似乎是相当多的工作实施.
我想在一些额外的代码中包装现有的click事件.
基本上我在手风琴中有一个多部分形式,我想触发手风琴标题点击的验证.手风琴代码在别处使用,我不想改变它.
这是我尝试过的:
//Take the click events off the accordion elements and wrap them to trigger validation
$('.accordion h1').each(function (index, value) {
var currentAccordion = $(value);
//Get reference to original click
var originalClick = currentAccordion.click;
//unbind original click
currentAccordion.unbind('click');
//bind new event
currentAccordion.click(function () {
//Trigger validation
if ($('#aspnetForm').valid()) {
current = parseInt($(this).next().find('.calculate-step').attr('data-step'));
//Call original click.
originalClick();
}
});
});
Run Code Online (Sandbox Code Playgroud)
jQuery抛出一个错误,因为它试图this.trigger在originalClick函数内部做,我不认为this是jQuery期望它.
编辑:更新的代码.这有效,但有点难看!
//Take the click events off the accordion elements and wrap them to …Run Code Online (Sandbox Code Playgroud) 我在一个项目上使用ISAPI重写,并想知道是否有可能从Tridion发布.htaccess文件?
我尝试使用.htaccess扩展名创建页面模板,但无法创建没有名称的页面.
有任何想法吗?
我可以使用C#TBB来更改页面名称吗?
在发生反向代理重写后,我试图从我的应用程序 (MVC 5) 中获取原始 URL。
我已经尝试了所有我能找到的东西,例如
有任何想法吗?
在 IIS7 和 IIS7.5 上尝试使用 ARR 3.0 和 Url Rewrite 2.0
c# ×3
javascript ×2
jquery ×2
tridion ×2
.net ×1
architecture ×1
arr ×1
asp.net-mvc ×1
facebook ×1
facebook-fql ×1
html ×1
iis ×1
openid ×1
soa ×1
t-sql ×1
tridion-2011 ×1
winapi ×1
xml ×1