小编Ric*_*cky的帖子

如何在Visual Studio 2012中切换主题

Visual Studio 2012提供了两个主题,Light和Dark.我想将主题切换为黑暗,但我无法找到任何菜单或选项来做到这一点.

我发现了一种导入设置的方法:

Microsoft Visual Studio 11.0\Common7\IDE\ FontsAndColorsThemes\1ded0138-47ce-435e-84ef-9ec1f439b749.vssettings
Run Code Online (Sandbox Code Playgroud)

并且代码编辑器现在处于Dark主题中,但其他窗口仍处于Light主题中,例如Solution Explorer,Toolbox和Toolbars.

我应该怎么做才能切换主题?

themes visual-studio-2012

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

Microsoft.AspNet.Http.HttpContext中ApplicationServices和RequestServices之间的区别是什么?

Startup课堂上,我可以在ConfigureServices方法中添加服务.当我想获得某个服务时,HttpContext实例中有2个属性,ApplicationServicesRequestServices.我想知道它们之间的区别以及如何正确使用它们.

编辑#1:例如,在Startup类中:

public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton<ICache, InProcessCache>();  // Line 1
    services.AddSingleton<ISystemClientResolver>(SystemClientResolver.CreateInstance); // Line 2
    services.AddScoped<SystemClient>(); // Line 3
    services.AddRvcBusiness(); // Line 4
    services.AddMvc(); // Line 5
}
Run Code Online (Sandbox Code Playgroud)

如果我不叫app.UseRequestServices()Configure(IApplicationBuilder app)方法,我可以SystemClient通过例如Context.ApplicationServices.GetService(typeof(SystemClient)),但不是每个请求的基础,似乎单和Context.RequestServices为空.一旦我这样打电话app.UseRequestServices():

public void Configure(IApplicationBuilder app)
{
    app.UseRequestServices();
    // ...
}
Run Code Online (Sandbox Code Playgroud)

Context.RequestServices不是null,我可以获取SystemClient实例,Context.RequestServices.GetService(typeof(SystemClient))实例是按请求.

asp.net-core

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

如何在Redux中创建全局错误处理程序并在需要时覆盖它?

想象一下处理表单提交的情况,它可以返回不同的错误:400,401,500.当返回400时,我想在表单顶部显示一条消息(覆盖默认行为).对于其他(未处理的)错误代码,应调用默认(全局)错误处理程序(显示通知toast).只是不想为每个动作复制此代码

我使用redux-thunk中间件调度异步操作

// Pseudo code
const action = (dispatch) => {

    const onSuccess = (result) => dispatch({type: 'OPERATION_SUCCESS', payload: result});
    const onError = (error) => dispatch({type: 'OPERATION_ERROR', error: true, payload: error});

    return promise.then(onSuccess, onError);

};
dispatch(action);
Run Code Online (Sandbox Code Playgroud)

我可以创建一个reducer来处理所有{error:true}动作并显示一些弹出通知(可能没有使用redux状态,直接调用一些toast.show()方法)但是如何确定这个特殊错误是否已被某些人处理过其他减速机?

javascript error-handling redux

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

如何停止EF 7将实体属性映射到列?

在EF 6中,我可以向NotMapped属性添加属性,然后它不会映射到列.我怎样才能在EF 7中这样做?

entity-framework-core

13
推荐指数
2
解决办法
6800
查看次数

如何将虚拟路径映射到物理路径?

我知道我可以通过HostingEnvironment(Microsoft.AspNet.Hosting命名空间)获取WebRoot.

我需要根据在我的Web应用程序中的IIS中创建的虚拟路径获取物理路径.在IIS中,网站根目录指向我发布的网站的wwwroot,并且在IIS中添加了一个虚拟目录,指向我的wwwroot之外的文件夹.我希望我能够获得该虚拟目录的物理路径.在MVC 5或更早版本中,我可以使用HostingEnvironment.MapPath(System.Web命名空间)或Server.MapPath,我应该在MVC 6中做什么?

编辑:

它不是虚拟路径,而是IIS中添加的虚拟目录.我希望我能够获得该虚拟目录的物理路径.我认为虚拟目录是IIS的一个特殊功能,它看起来像一个完整虚拟路径的子路径,但可以是物理Web根文件夹之外的文件夹.

2015年10月4日

请参阅ASP.NET 5 Hosting repo中的这个问题,到目前为止,我们似乎无法获得IIS中虚拟目录的物理路径.

c# asp.net-core

11
推荐指数
2
解决办法
5935
查看次数

使用相同CTE的两次更新

我必须在树枝中"删除"文件夹(已将标记为已删除,我更改了标记的值).每个文件夹都可以包含文件或文件夹(存储在不同的表中).我有一个CTE,它定义了所有需要更新的文件夹.

 WITH arbre(id) AS(
     SELECT idDossier
     FROM portail_managers_dossier
     WHERE idDossier = @id
     UNION ALL
     SELECT d.idDossier
     FROM portail_managers_dossier AS d
     INNER JOIN arbre AS a
     ON a.id = d.idParent)
Run Code Online (Sandbox Code Playgroud)

然后我有两个UPDATE请求,每个表一个

 UPDATE portail_managers_dossier
 SET dtDateSuppr = NULL
 WHERE idDossier IN (SELECT id FROM arbre);


 UPDATE portail_managers_document
 SET dtDateSuppr = NULL
 WHERE idDossier IN (SELECT id FROM arbre);
Run Code Online (Sandbox Code Playgroud)

我的问题是:我不知道如何在不同的表上合并两个UPDATE请求.CTE仅存在于请求结束之前,因此我必须将其定义两次.有没有办法在单个请求中编写上述所有代码?

sql-server

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

当我的SQL Server数据库设置为Latin1_General_100_CI_AI时,大小写和排序规则的问题

我的SQL Server 2008数据库设置为Latin1_General_100_CI_AI排序规则,但是当我使用Management Studio查询数据库时,它仍然是重音敏感的.我错过了什么?

此外,我在nvarchar上连接两个表时得到了以下消息.这些表也是相同的排序规则.

无法在等于操作中解决"Latin1_General_100_CI_AI"和"Latin1_General_CI_AS"之间的排序规则冲突.

任何帮助都会得到很好的赞赏.

sql-server collation

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

运行kpm restore时无法找到Microsoft.AspNet.Server.WebListener

我将HelloMvc项目文件夹复制到另一个文件夹"Ricky"并运行kpm restore,我得到了以下输出: 在此输入图像描述

我不知道出了什么问题."kpm restore"在其原始文件夹中成功运行,该文件夹是从asp.net/home存储库中克隆的.

asp.net-core

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

ASP.NET vNext MVC和实体框架问题

我正在尝试创建一个ASP.NET vNext WebAPI + AngularJS +实体框架项目.但显然,在EF7中有很多变化,所以我遇到了以下问题:

我改变了project.json如下:

"dependencies": {
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta1",
    "EntityFramework": "7.0.0-beta1",
    "EntityFramework.SqlServer": "7.0.0-beta1",
    "EntityFramework.Commands": "7.0.0-beta1",
    "Microsoft.AspNet.Mvc": "6.0.0-beta1",
    "Microsoft.AspNet.Diagnostics": "1.0.0-beta1",
    "Microsoft.Framework.ConfigurationModel.Json": "1.0.0-beta1"
Run Code Online (Sandbox Code Playgroud)

在我的DataContext类中,我尝试以下方法:

using System;
using Project1.Models;
using Microsoft.Data.Entity;

namespace Project1.DataAccess
{
    public class DataContext
    {
        public DbSet<Website> Websites { get; set; }

        public DataContext()
        {
            Microsoft.Data.Entity.Infrastructure.Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DataContext>());
        //Database.SetInitializer(new DropCreateDatabaseAlways<DataContext>());
        }

     } 
}
Run Code Online (Sandbox Code Playgroud)

}

首先:为什么命名空间System.Data.Entity改为Microsoft.Data.Entity?在任何microsoft msdn文章中我都找不到任何有关此更改的内容!

第二:整体Database.SetInitializer不再起作用了.它建议使用Microsoft.Data.Entity.Infrastructure命名空间,但Database类不包含SetInitializer方法.

entity-framework entity-framework-core asp.net-core

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

C#Subclass最佳实践

我目前正在XNA上玩游戏,我不确定如何进行以下操作......

我有这样的基础建筑物

   public class BuildingsBase
   {
     private int _hp;
     public int hp
     {
        get { return _hp; }
        set { _hp= value; }
     }

     private int _woodRequired;
     public int woodRequired
     {
        get { return _woodRequired; }
        set { _woodRequired = value; }
     }
  }
Run Code Online (Sandbox Code Playgroud)

然后,我有多个子类用于构建类型,例如.

public class TownHall:BuildingsBase
{
    public int foodHeld;

    public TownHall()
    {
        foodHeld = 100;
        woodRequired = 500;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,设置构建子类的默认值的最佳方法是什么.

例如,市政厅的woodRequired被设置为500但在代码中的不同位置我需要访问此值,然后才能宣布市政厅的实例(当检查是否有足够的木材建造时).

我目前为每种建筑类型都有一个全局的默认变量数组,但我想知道是否有更好的方法来做到这一点.

if (Globals.buildingDefaults[BuildingType.Townhall].woodRequired < Globals.currentWood)
{
    Townhall newTH = new Townhall();
}
Run Code Online (Sandbox Code Playgroud)

c# constructor subclass

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