小编M05*_*mty的帖子

Automapper问题:递归投影LinqToSql Stackoverflow异常

在此输入图像描述

使用上面的LinqToSql实体类并尝试映射到具有相同名称的DTO对象会引发Stackoverflow异常.我已经阅读过,这似乎是与CriteriaGroup对象的Child/Parent关系出现问题.有没有人有什么建议?

用于调用此代码的代码:

var mappedDtos = this.configurationRepository
                        .GetAll()
                        .Project()
                        .To<CriteriaGroupDto>();
Run Code Online (Sandbox Code Playgroud)

GetAll()的位置是:

public override IQueryable<TEntity> GetAll()
{
    return this.Table.AsQueryable();
}    
Run Code Online (Sandbox Code Playgroud)

我为此制作的映射代码是:

/// <summary>
/// The criteria profile.
/// </summary>
public class CriteriaProfile : Profile
{
    /// <summary>
    /// The configure.
    /// </summary>
    protected override void Configure()
    {
        Mapper.CreateMap<CriteriaGroup, CriteriaGroupDto>()
                .ForMember(dest => dest.Groups, opt => opt.MapFrom(src => src.Children))
                .ForMember(dest => dest.Parent, opt => opt.MapFrom(src => src.Parent))
                .ForMember(dest => dest.Criteria, opt => opt.MapFrom(src => src.CriteriaConfigs));

        Mapper.CreateMap<CriteriaConfig, CriteriaConfigDto>()
            .Include<RatingConfig, CriteriaConfigDto>()
            .Include<CountryConfig, CriteriaConfigDto>()
            .Include<TimescaleConfig, CriteriaConfigDto>()
            .ForMember(dest …
Run Code Online (Sandbox Code Playgroud)

c# automapper linq-to-sql

8
推荐指数
0
解决办法
913
查看次数

Castle Windsor 3.0,服务和多重实施

阅读并用谷歌搜索到疲惫之后,我觉得我可能需要一些指导.

这可能部分是由于Castle Windsor 3.0的引入,但大多数博客文章,SO问题和其他文档明确依赖于我所看到的现在已弃用的代码.

那么:问题是什么?

在我的应用程序中,这是一个为MVC3应用程序提供后端代码的WCF服务,我有多个层,其中一个层为文件上载系统提供病毒扫描服务.

客户端已经要求支持多个扫描服务,我自然已经遵守,每个扫描服务都实现了一个IScanService接口,因此:

public interface IScanService
{
    void Execute();
    ScanResult GetResult();
}
Run Code Online (Sandbox Code Playgroud)

所以在WCf服务中,构造函数可能如下所示:

public McAfeeFileScanService(IScanService mcAfeeScanService)
    {
        _scanService = scanService;
    }
Run Code Online (Sandbox Code Playgroud)

我如何专注于注入的IScanService是实现类型McAfeeScanService,还是NortonScanService或其他实现?

默认情况下,AFAIK Windsor将提供第一个注册的实现,无论是否为McAfeeScanService类型.

我正在调查ServiceOverrides,但是在Windsor 3.0中似乎已经弃用了DependsOn(Dependency.OnComponenent())[但我没有找到任何相关的例子]我也查看了Typed Factory Facilities,并进入了IHandlerSelector但是觉得需要一些指导(看似常见且很简单)的任务.

谢谢大家.

castle-windsor c#-4.0

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

ViewModelBuilder泛型投射问题

围绕着这个我的大脑无济于事,想知道是否有人可以提供帮助?

得到一个非常令人沮丧的演员问题,我肯定会有一个快速回答,但可能只是由于我对泛型类型推断或其他东西的有限理解而发生.

提前致谢!

场景是一个向导站点的"步骤"ViewModel.我正在为每个人创建Builder类,并使用工厂来获取特定的构建器,以获取返回给我的步骤,这是一个IStepViewModel的集合.

public interface IStepViewModelBuilderFactory
{
    IStepModelBuilder<T> Create<T>(T stepViewModel) where T : IStepViewModel;
    void Release<T>(IStepModelBuilder<T> stepViewModelBuilder) where T : IStepViewModel;
}

public interface IStepViewModel
{
}

public interface IStepModelBuilder<TStepViewModel> : IModelBuilder<TStepViewModel> where TStepViewModel : IStepViewModel
{
}

public class SpecificViewModelBuilder : IStepModelBuilder<SpecificStepViewModel>
{
}

public class SpecificStepViewModel: StepViewModel
{
}

public abstract class StepViewModel : IStepViewModel
{
}
Run Code Online (Sandbox Code Playgroud)

失败的测试!

[Test]
public void TestResolution()
{
    var factory = this.container.Resolve<IStepViewModelBuilderFactory>();

    IStepViewModel viewModel = new SpecificStepViewModel();

    var builder = factory.Create(viewModel); // …
Run Code Online (Sandbox Code Playgroud)

.net c# generics casting

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

Umbraco - 预定发布的问题 - v7.2.1

http://our.umbraco.org/forum/core/general/61055-Problems-with-scheduled-publishing-721

在我们的UAT和生产环境中部署在Azure上时,我在各种版本的Umbraco的计划发布行为中遇到了奇怪的错误.日志中的以下错误不断出现.

该站点托管在IIS 8中的https绑定上.

当前部署的Umbraco版本为7.1.9,其中日志发生且计划发布未完成.

尝试将原始7.2.1实例部署到同一环境后,出现相同的错误,但是尽管出现错误,但发布似乎实际上按预期工作.

我已经回顾了一些关于此事的其他类似主题,并尝试了所描述的修复无济于事.我想知道我在这里缺少什么吗?

http://our.umbraco.org/forum/core/general/56407-Worrying-errors-in-the-logs-over-last-couple-of-days-from-UmbracoWebSchedulingScheduledPublishing-?p=0

http://issues.umbraco.org/issue/U4-5842

http://issues.umbraco.org/issue/U4-5379

我考虑过Sebastiaan给出的解释的唯一想法是在我已经在日志中看到的OriginalRequestUrl修复实现之后:

2015-02-04 10:31:32,073 [17] INFO  Umbraco.Web.UmbracoModule - [Thread 10] Setting OriginalRequestUrl: test.[company].com:443/umbraco
Run Code Online (Sandbox Code Playgroud)

现在,在https上托管的网站不会将任何请求绑定到http:// test.[公司] .com:443/umbraco,我猜这会导致超时?是否有一个我缺少的设置来启用它?

我已将umbracoUseSSL设置为true,但这没有帮助.

提前致谢.

2015-02-04 12:00:45,647 [20] ERROR Umbraco.Web.Scheduling.KeepAlive - [Thread 108] Error in ping
System.Net.WebException: The operation has timed out
   at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
   at System.Net.WebClient.DownloadString(Uri address)
   at Umbraco.Web.Scheduling.KeepAlive.Start(ApplicationContext appContext,   IUmbracoSettingsSection settings)
 2015-02-04 12:01:17,644 [73] INFO  umbraco.BusinessLogic.Log - [Thread 125] Log scrubbed.  Removed all items older than 2014-12-06 12:01:17
2015-02-04 12:01:17,644 [20] INFO …
Run Code Online (Sandbox Code Playgroud)

c# umbraco azure asp.net-mvc-4

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

MVC3 Razor收藏最佳实践

可能之前有人问过,但不是我能找到的.

我只是想知道那些比我更有经验的人:

以Razor格式显示,编辑,添加新集合的最佳实践是什么?

详细说明我的意思 - 我主要是使用EditorTemplate比较强类型对象的集合来仅显示所述对象的一些属性,而不是在Razor代码本身中使用foreach循环,视图,并明确详细说明那里的属性值.

样品:

EditorTemplate:

<div>
    <div>
        @Html.LabelFor(x => x.Foo, "Foo")
    </div>
    <div >
        @Html.TextBoxFor(x => x.Fishfood, new { style = "width: 200px" })
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

主要观点:

<div>
     @Html.EditorFor(x => x.FooBarItems)
<div>
Run Code Online (Sandbox Code Playgroud)

要么:

@foreach (var item in Model.Items)
{
    <div>
        @Html.Label("Foo", item.Foo)
    </div>
    <div >
        @Html.TextBox(item.Fishfood, new { style = "width: 200px" })
    </div>
}
Run Code Online (Sandbox Code Playgroud)

它们在各方面几乎相似,但我想知道我是否遗漏了任何东西!

谢谢

c# razor

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