小编Ren*_*ink的帖子

为什么C#允许在一个案例之后但不在它之前的语句?

为什么C#允许这样:

var s = "Nice";
switch (s)
{
    case "HI":
        break;
    const string x = "Nice";
    case x:
        Console.Write("Y");
        break;
}
Run Code Online (Sandbox Code Playgroud)

但不是这个:

var s = "Nice";
switch (s)
{
    const string x = "Nice";
    case x:
        Console.Write("Y");
        break;
}
Run Code Online (Sandbox Code Playgroud)

.net c# switch-statement

64
推荐指数
2
解决办法
2168
查看次数

从SQL中的时间戳,选择今天,昨天,本周,本月和两个日期之间的记录php mysql

希望这是一个简单的解决方案,但我正在尝试过滤以下数据: -

  • 今天
  • 昨天
  • 本星期
  • 这个月
  • 在两个日期之间.

我从数据库中获取的日期基本上是一个时间戳.

这是我试过的: -

...

它并没有真正起作用.

任何的想法?

mysql select date filter

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

DevExpress MVC GridView - 如何获取单元格点击事件

使用DevExpress的GridView,我想在选择(或简单地点击)单元格时触发(clientside)事件.

已经有一种方法可以获得整行的点击事件,但是既没有摆弄也没有文档给我任何线索如何为细胞实现这一点.

这就是我对行的看法:

Html.DevExpress().GridView(settings =>
{
    // removed a lot of code here
    settings.ClientSideEvents.RowDblClick = "OnGridRowDblClick";
}).Bind(Model).GetHtml()
Run Code Online (Sandbox Code Playgroud)

这将导致OnGridRowDblClick双击行时调用javascript函数.理想情况下应该有类似的东西

settings.ClientSideEvents.CellClick = "OnCellClick";

但是,这不存在,我也找不到任何可以实现的目标.

asp.net-mvc devexpress

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

Unity PerRequestLifetimeManager在不同请求中重用对象

我为我们的项目设置了Unity for dependency injection.项目本身是一个使用MVC和Web API的ASP.NET应用程序.

对于数据库上下文,我正在使用PerRequestLifetimeManager.这样做是为了使业务逻辑的不同位使用相同的上下文(因而是相同的事务).

为了能够使用PerRequestLifetimeManager,我添加了针对ASP.NET MVC的nuget包Unity引导程序ASP.NET Web API的Unity引导程序的引用.

要在Web API中使用此生命周期管理器,已在启动代码中添加以下行:

Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility.RegisterModule(typeof(UnityPerRequestHttpModule));
Run Code Online (Sandbox Code Playgroud)

Unity容器是为MVC和Web API设置的:

var container = BuildUnityContainer();
GlobalConfiguration.Configuration.DependencyResolver = new Microsoft.Practices.Unity.WebApi.UnityDependencyResolver(container);
System.Web.Mvc.DependencyResolver.SetResolver(new Microsoft.Practices.Unity.Mvc.UnityDependencyResolver(container));
Run Code Online (Sandbox Code Playgroud)

在构建Unity容器时,数据库上下文设置为按请求以下列方式解析:

container.RegisterType<IDataContext>(new PerRequestLifetimeManager(),
    new InjectionFactory(c =>
    {
        // Some code
        return new DataContext(/* params */);
    }
));
Run Code Online (Sandbox Code Playgroud)

但是,似乎这段代码并没有DataContext为每个请求提供新的代码.它在一个请求中给出了我在不同地方的相同上下文(这很好).但是,后续(web api)请求被赋予了相同的实例DataContext,我希望为每个新请求创建一个新的请求.我也希望在DataContext请求完成后(类实现IDisposable)正确处理.

这里发生了什么?我是否缺少一些配置才能使其正常工作?或者这不应该像我期望的那样工作?

asp.net-mvc unity-container asp.net-web-api

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

重新启动应用程序池后缺少Unity配置

在我中,Application_Start我使用Unity-AutoRegistration工具配置Unity:

UnityFactory.Configure(config => config
    .Include(If.ImplementsITypeName, Then.Register())
    .ExcludeSystemAssemblies()
);
Run Code Online (Sandbox Code Playgroud)

我的UnityFactory课是静态的。Configure工作原理如下:

public static void Configure(Func<IAutoRegistration,IAutoRegistration> configuration)
{
    // Store the configuration to be able to apply it again when needed
    UnityFactory.configuration = configuration;

    // Create new UnityContainer
    container = new UnityContainer();

    // Apply configuration
    configuration(container.ConfigureAutoRegistration()).ApplyAutoRegistration();
}
Run Code Online (Sandbox Code Playgroud)

它在IIS7下运行,并且在启动时一切正常。

每当回收应用程序池时,它将停止工作。该配置以某种方式弄乱了,它不再能够解析我的类。然而,静态字段configurationUnityFactory类仍然包含正如所提供的第一次配置。因此,类本身并没有改变。

Application_Start回收应用程序池后不会触发该方法,因此不会再次应用配置。

如果我设置了一个断点并再次手动应用该配置,那么所有这些都将再次起作用。

这是怎么回事 为什么Unity会忘记我的所有课程?是否有我可以订阅的事件,该事件可以让我知道何时回收池?

c# iis-7 unity-container application-pool

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

如何在NpgsqlConnection中设置编码

我有一个PostgreSQL数据库,它使用字符编码WIN1252.

查询数据库时,某些记录在尝试读取数据时会产生错误,因为它正在尝试将其转换为UTF8.在包含某些非拉丁字符的某些外来名称上会发生这种情况.

错误是:

ERROR: 22P05: character with byte sequence 0x81 in encoding "WIN1252" has no equivalent in encoding "UTF8"
Run Code Online (Sandbox Code Playgroud)

它发生在我打电话Read()的时候NpgsqlDataReader.

我的连接定义为:

new NpgsqlConnection("Server=127.0.0.1;Port=5432;Database=xyz;User Id=****;Password=****;");
Run Code Online (Sandbox Code Playgroud)

如何使用C#读取此数据?

c# postgresql encoding npgsql

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