小编ova*_*nko的帖子

Visual Studio不要打开新的浏览器实例

当我尝试在Windows 10上的visual studio 2017RC中运行Web应用程序时,它会打开一个新的浏览器实例(在我的案例中为chrome).我也尝试过使用Internet Explorer,情况相同,浏览器没有登录,但如果我只是手动运行chrome就会登录.如何阻止visual studio在每次运行Web应用程序时运行新的浏览器实例?当我按下运行网站时,它应该在与之前的应用程序相同的窗口中打开(仅下一个选项卡)

asp.net visual-studio visual-studio-2017

94
推荐指数
7
解决办法
3万
查看次数

Visual Studio 2015无法启动IIS Express

当我尝试在Visual Studio 2015中运行ASP.Net Core项目时,会出现Microsoft Visual Studio对话框"项目不知道如何运行配置文件IIS Express".

有没有人知道这个消息,或如何解决它?我搜索过谷歌和MSDN.构建日志或Windows事件日志中没有任何内容.

Microsoft Visual Studio:该项目不知道如何运行配置文件IIS Express.

iis iis-express visual-studio-2015 asp.net-core

23
推荐指数
3
解决办法
8650
查看次数

ASP NET Core修改/替换请求体

我需要替换HttpContext.Request.Body.

我试过在中间件中做这件事

public async Task Invoke(HttpContext context)
    {
        if (context.Request.Path.Value.Contains("DataSourceResult"))
        {
            var originalBody = new StreamReader(context.Request.Body).ReadToEnd();
            DataSourceRequest dataSource = null;

            try
            {
                dataSource = JsonConvert.DeserializeObject<DataSourceRequest>(originalBody);
            } catch
            {
                await _next.Invoke(context);
            }

            if (dataSource != null && dataSource.Take > 2000)
            {
                dataSource.Take = 2000;

                var bytesToWrite = dataSource.AsByteArray();
                await context.Request.Body.WriteAsync(bytesToWrite, 0, bytesToWrite.Length);
            }
            else
            {
                var bytesToWrite = originalBody.AsByteArray();
                await context.Request.Body.WriteAsync(bytesToWrite, 0, bytesToWrite.Length);
            }
        }

        await _next.Invoke(context);
    }
Run Code Online (Sandbox Code Playgroud)

第一个问题是主体只能读取一次,第二个问题是流是只读的,不能写入.如何修改/替换request.body(我需要更改请求体的属性值)?

c# .net-core asp.net-core asp.net-core-middleware

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

实体框架代码首先为正数添加约束

我只需要为正数(0 -...)添加约束,并将数字限制为(...- 1).

CreateTable(
   "dbo.Drinks",
   c => new
   {
       Id = c.Int(nullable: false, identity: true),
       Name = c.String(),
       ImageUrl = c.String(),
       Price = c.Int(nullable: false),
       Count = c.Int(nullable: false)
   })
   .PrimaryKey(t => t.Id);
   //.Constraint ???
Run Code Online (Sandbox Code Playgroud)

像MS SQL中的'unsigned'之类的东西.谢谢.

.net c# entity-framework code-first ef-migrations

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

带有 Apache 和反向代理的 Linux ASP.Net core

我需要澄清 ASP.NET Core 应用程序在 Linux 上的设置过程。我有 Apache 作为服务器,我想用它作为反向代理。在我的 ASP.NET Core 应用程序上,我有这样的设置:

services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.Configure<ForwardedHeadersOptions>(options =>
{
    options.ForwardedHeaders =
        ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
});
Run Code Online (Sandbox Code Playgroud)
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
    ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
Run Code Online (Sandbox Code Playgroud)

转发标头 - 这些位于“如何在 Linux 上运行 ASP.NET Core”的文档中。

在 Program.cs 中我有:

var host = WebHost.CreateDefaultBuilder(args)
    .UseKestrel()
    .UseUrls("https://*:5001")
    .UseIISIntegration()
    .UseStartup<Startup>()
    .Build();
Run Code Online (Sandbox Code Playgroud)

我有的问题:

  1. 我是否需要这些转发标头?
  2. 我需要添加app.UseHttpsRedirection();到我的项目中吗?
  3. 我需要UseUrls("https://*:5001")在这一行中指定 https 还是可以是 http ?
  4. 我的 Kestrel(我的应用程序)上是否需要使用 https,或者如果我有反向代理,我可以使用 http 并且 Apache 将处理 ssl?
  5. 我的 ASP.NET Core 应用程序中是否需要有任何其他代码才能使其与反向代理一起使用?

c# apache kestrel-http-server asp.net-core

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

自动映射器将接口映射到接口或对象

如何将从一个接口继承的对象映射到从另一接口继承的对象。

我有这样的代码结构

public interface IDataTranslatable
{
    List<DataTranslation> SpanishDataTranslations {get;set;}
}

public interface IDataTranslatableDto
{
    List<DataTranslationDto> DataTranslations { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

对象DataTranslationDataTranslationDto具有相同的属性。我有许多继承IDataTranslatableIDataTranslatableDto接口的对象。例如

public class Category : IDataTranslatable
{
    public string Name { get; set; }
    public ICollection<DataTranslation> SpanishDataTranslations { get; set; } = new List<DataTranslation>();
}

public class CategoryDto : IDataTranslatableDto
{
    public string Name { get; set; }
    public List<DataTranslationDto> DataTranslations { get; set; } = new List<DataTranslationDto>();
}
Run Code Online (Sandbox Code Playgroud)

对我来说最好的实现是这样的

config.CreateMap<IDataTranslatable, …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net automapper asp.net-core

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

Asp Core 2.1 Jwt + 身份。userManager 存储未实现 IUserRoleStore

我正在尝试在 ASP Net Core 2.1 中使用 Jwt auth 和 Identity

在我的 Startup.cs 中,我有:

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
    .AddJwtBearer(options =>
    {
        options.RequireHttpsMetadata = false;
        options.TokenValidationParameters = new TokenValidationParameters
        {
            ValidateIssuer = true,
            ValidIssuer = AuthOptions.ISSUER,
            ValidateAudience = true,
            ValidAudience = AuthOptions.AUDIENCE,
            ValidateLifetime = true,
            IssuerSigningKey = AuthOptions.GetSymmetricSecurityKey(),
            ValidateIssuerSigningKey = true,
        };
    });

var builder = services.AddIdentityCore<User>(options =>
{
    // Password settings
    ...
    // Lockout settings
    ...
    // User settings
    options.User.RequireUniqueEmail = true;
}).AddEntityFrameworkStores<ApplicationDbContext>();
Run Code Online (Sandbox Code Playgroud)

builder = new IdentityBuilder(builder.UserType, typeof(IdentityRole), builder.Services);

然后在 SecurityService.cs 中我尝试使用此语句来获取角色

var roles …
Run Code Online (Sandbox Code Playgroud)

c# jwt asp.net-core asp.net-core-identity

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