小编Rob*_*ett的帖子

FileSystemWatcher如何在另一个计算机目录上工作?

有些东西引起了我的注意,我没有找到任何资源.

FileSystemWatcher如何知道何时创建/删除/更改/重命名计算机上的文件"A"?

我认为这适用于轮询,(观察者轮询服务器以检查更新),但在使用Wireshark验证网络活动后,我看到没有使用轮询.SMB协议是否使用可观察/观察者模式?

在这种情况下,服务器如何知道客户端何时不再观察他?

当网络在观察期间跌落并且在之后立即返回时会产生什么后果?

在另一台计算机上使用FileSystemWatcher似乎太容易实现了......

.net winapi design-patterns filesystemwatcher

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

将参数作为Xml传递给存储过程

我有一个要求将参数作为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)

c# xml t-sql soa

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

架构问题:Fluent NHibernate,Repository模式和ASP.NET MVC

我刚刚开始了一个新项目,并且自然而然地选择使用了许多新技术.

我正在使用(流畅的)NHibernate,ASP.NET MVC 3,我正在尝试应用Repository模式.

我决定将我的业务逻辑分离成一个单独的项目,并定义包装我的存储库的服务,这样我就可以返回POCO而不是NHibernate代理,并在我的前端和DA逻辑之间保持更多的分离.这也将使我能够轻松提供与API相同的逻辑(一项要求).

我选择使用通用IRepository<T>接口,其中T一个是我的NHibernate映射实体,它们都实现了IEntity(我的界面只是一个标记).

问题是这违背了聚合根模式,我开始感受到贫血领域模型的痛苦.

如果我改变了另一个悬挂的物体

  • Root < - 已更改
    • 孩子< - 改变了

在我的服务中,我必须做以下事情:

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

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

SDL Tridion 2011:富文本编辑器配置以生成特定标记

我要求在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,这似乎只有可用.

有没有办法允许编辑器生成上述标记而无需手动编写代码?

tridion tridion-2011 tridion-content-manager

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

如何暂停显示工具提示的title属性?

我有一个弹出式div显示在rightclick上(我知道这打破了预期的功能,但Google Docs会这样做,为什么不呢?)但是我显示弹出窗口的元素有一个"标题"属性集,它出现在顶部我的div.我仍然希望工具提示工作,但不是弹出窗口时.

弹出窗口打开/打开时,停止显示工具提示的最佳方法是什么?

编辑:我正在使用jQuery

html javascript jquery

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

Hotmail/Windows Live的Open ID端点

有吗?

我可以找到关于它从2008年开始实施的文章:

但我似乎无法找到有关如何使用它的任何实际文档.有人用过吗?它存在吗?

openid windows-live-id

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

Facebook赞按钮,它可以只读吗?

我在我的网站上使用Facebook赞.我有一个图库页面,显示图片/视频数据和该数据的喜欢数量.每条数据都有自己的URL,可以被喜欢.

但是,我想在图库导航中显示喜欢的数量,但我不希望人们能够从导航中"喜欢".有没有办法显示没有按钮的喜欢的数量?

我到目前为止看到的唯一方法是使用FQL中的链接统计"表":http://developers.facebook.com/docs/reference/fql/link_stat/

是否有更简单的方法,因为这似乎是相当多的工作实施.

c# facebook facebook-fql facebook-like

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

jQuery:获取对click事件的引用并在以后触发它?

我想在一些额外的代码中包装现有的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.triggeroriginalClick函数内部做,我不认为this是jQuery期望它.

编辑:更新的代码.这有效,但有点难看!

   //Take the click events off the accordion elements and wrap them to …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

Tridion 2009 SP1:是否可以发布.htaccess文件?

我在一个项目上使用ISAPI重写,并想知道是否有可能从Tridion发布.htaccess文件?

我尝试使用.htaccess扩展名创建页面模板,但无法创建没有名称的页面.

有任何想法吗?

我可以使用C#TBB来更改页面名称吗?

tridion

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

应用请求路由:获取原始 URL

在发生反向代理重写后,我试图从我的应用程序 (MVC 5) 中获取原始 URL。

我已经尝试了所有我能找到的东西,例如

  • 将我自己的服务器变量设置为 {HTTP_HOST} 的值(我的服务器变量以 HTTP 开头)。这要么包含当前 URL,要么包含空值。
  • 使用不包含主机名的 HTTP_X_ORIGINAL_URL 服务器变量。
  • 查看所有内置的服务器变量。
  • 在这里详细设置值 preserveHostHeaders:https : //stackoverflow.com/a/7180527/4950,这导致网站挂起

有任何想法吗?

在 IIS7 和 IIS7.5 上尝试使用 ARR 3.0 和 Url Rewrite 2.0

iis arr

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