小编All*_*est的帖子

针对后台工作者的Web应用程序的Nhibernate会话管理策略?

对于Web应用程序,似乎处理会话的一种好方法是使用设置<property name="current_session_context_class">managed_web</property>,调用CurrentSessionContext.Bind/UnbindBegin/EndRequest.然后我可以sessionFactory.GetCurrentSession()在存储库类中使用.

这适用于所有页面请求.但我有后台工作人员在做东西并使用相同的存储库类来做事情.这些不在Web请求中运行,因此会话处理将不起作用.

有关如何解决这个问题的任何建议?

.net c# nhibernate sessionfactory

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

使用AutoMapper映射相同值时出错

我有这个代码失败了:

internal class Program
{
    private static void Main()
    {
        Mapper.CreateMap<SourceFoo, TargetFoo>();
        Mapper.CreateMap<string, Stuff>()
            .ForMember(dest => dest.Value, opt => opt.MapFrom(src => src))
            .ForMember(dest => dest.IgnoreMe, opt => opt.Ignore());

        var source = new SourceFoo
            {
                Stuff = "a",
                Stuff2 = "a"
            };
        var target = new TargetFoo
            {
                Stuff = new Stuff(),
                Stuff2 = new Stuff()
            };
        Mapper.Map(source, target);

        Console.WriteLine(target.Stuff.Value);
        Console.WriteLine(target.Stuff2.Value);
        Console.ReadLine();
    }
}

public class SourceFoo
{
    public string Stuff { get; set; }

    public string Stuff2 { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# automapper

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

CodeContract认为分配的只读字段可以为null

我有这个代码:

public class CodeContractSample
{
    private readonly List<object> _items = new List<object>();

    public IEnumerable<object> Query()
    {
        Contract.Ensures(Contract.Result<IEnumerable<object>>() != null);
        //if (_items == null) throw new Exception();
        return _items;
    }
}
Run Code Online (Sandbox Code Playgroud)

CodeContracts给出了这个警告:

CodeContracts:确保未经证实:Contract.Result>()!= null

如果我取消注释中间行,它就会停止抱怨.但为什么一开始就抱怨?_items永远不应该为null ..?

.net c# code-contracts

4
推荐指数
1
解决办法
438
查看次数

在Visual Studio 2012中导航到文件时关闭访问行为

当我转到另一个文件时,在代码中的类型名称上使用F12,它将在右侧的读取选项卡中打开该文件.如果我进一步导航,新文件将替换前一个文件.

在Visual Studio 2010中,它将为我要访问的每个文件打开一个新选项卡.我试图习惯新的行为,但我无法忍受.

如何关闭此功能?

visual-studio-2012

4
推荐指数
1
解决办法
876
查看次数

使用.NET Core项目在Visual Studio中显示其他文件

在我的ASP.NET Core项目中,.json设置文件是主要文件下的组.但如果我改用.yml它,它就不会这样做.
在旧的csproj中,有很多XML用于这些事情.但现在找不到对其中的设置文件的任何引用.

VS

这对.json文件有什么样的魔力?

csproj visual-studio .net-core asp.net-core visual-studio-2017

4
推荐指数
1
解决办法
1886
查看次数

命名:价目表与PriceList

哪个更正确,"PriceList"还是"Pricelist"?

FxCop说:CA1702:Microsoft.Naming:类型名称'PriceList'中的复合词'PriceList'作为离散术语存在.如果您的用法是单字,请将其称为"价目表".

编辑:这是一个标题,开始/结束日期等对象.

.net naming code-analysis fxcop naming-conventions

3
推荐指数
1
解决办法
2344
查看次数

将状态码500发送到客户端时不会呈现页面

我有一个页面(通用处理程序),我想在其上返回状态代码500到客户端,以指示出现问题.我是这样做的:

Response.StatusCode = 500;
Response.StatusDescription = "Internal Server Error";
Run Code Online (Sandbox Code Playgroud)

同时,我会发出一条友好的消息,告诉用户出现了问题.但是,我没有看到我的消息,而是获得了这样的默认IIS消息:

服务器错误500 - 内部服务器错误.您正在查找的资源存在问题,无法显示.

如果我进入IIS并删除500的错误页面,我会收到以下消息:

由于发生内部服务器错误,无法显示页面.

它在IIS6中按预期工作,但在IIS7中不能.我该怎么做才能让它在IIS7中运行?

c# asp.net iis-7 http-status-codes

3
推荐指数
1
解决办法
719
查看次数

在不知道编译时的类型的情况下解析Windsor的通用接口?

有了温莎,我可以这样做:

var validators = container.ResolveAll<IEntityValidator<Product>>();
Run Code Online (Sandbox Code Playgroud)

但我不知道编译时的类型.我需要更像这样的代码:

var type = obj.GetType();
var validators = container.ResolveAll<IEntityValidator<...type...>>();
Run Code Online (Sandbox Code Playgroud)

显然,上面的代码并不接近正确的解决方案.我猜测需要一些完美的魔法.如果与温莎完全一致的话.是吗?

.net c# reflection castle-windsor

3
推荐指数
1
解决办法
1066
查看次数

IsAssignableFrom当接口具有泛型时,而不是实现

我搜索了这个并找到了: 如何检测类型是否是另一种通用类型

该解决方案的问题在于它期望实现具有相同的类型参数.我想要的是看一个类是否实现了一个带有任何类型参数的接口.

例:

public interface IMapper<in TSource, out TDestination>
{ ... }

public class StringMapper : IMapper<string, StringBuilder>
{ ... }

Console.WriteLine(typeof(IMapper<,>).IsAssignableFrom(typeof(StringMapper)));
Run Code Online (Sandbox Code Playgroud)

我希望这写真,但它写错了.如何检查类是否实现了具有泛型参数的接口?

.net c# generics reflection

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

在ASP.NET Core中编写响应时,非ASCII字符加扰

如果我将此Startup放在ASP.NET Core应用程序中,文本将被加扰(Ã...Ã"Ã-).如果我在中间件中这样做,也会发生同样的事情.传递Encoding.UTF8到WriteAsync于事无补.

public class Startup
{
    public void Configure(IApplicationBuilder app)
    {
        app.Run(async context => { await context.Response.WriteAsync("ÅÄÖ"); });
    }
}
Run Code Online (Sandbox Code Playgroud)

怎么了?我该怎么做才能解决它?

c# character-encoding non-ascii-characters asp.net-core

3
推荐指数
1
解决办法
630
查看次数