标签: .net-core

postgresql dotnet 核心连接字符串

我正在尝试使用 colling 连接字符串连接到 postgresql。

dotnet ef dbcontext scaffold "Server=localhost; Port=xxxx; Database=i2ms; User Id=xxx; Password=xxx; SslMode=true" Npgsql.EntityFrameworkCore.PostgreSQL 
Run Code Online (Sandbox Code Playgroud)

我收到以下错误。

System.ArgumentException: Couldn't set sslmode
Parameter name: sslmode ---> System.ArgumentException: Requested value 'true' was not found.
   at System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult)
   at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
   at Npgsql.NpgsqlConnectionStringBuilder.set_Item(String keyword, Object value) in /home/roji/projects/npgsql/src/Npgsql/NpgsqlConnectionStringBuilder.cs:line 164
   --- End of inner exception stack trace ---
   at Npgsql.NpgsqlConnectionStringBuilder.set_Item(String keyword, Object value) in /home/roji/projects/npgsql/src/Npgsql/NpgsqlConnectionStringBuilder.cs:line 170
   at System.Data.Common.DbConnectionStringBuilder.set_ConnectionString(String value)
   at Npgsql.NpgsqlConnection.GetPoolAndSettings() in /home/roji/projects/npgsql/src/Npgsql/NpgsqlConnection.cs:line 178 …
Run Code Online (Sandbox Code Playgroud)

database postgresql ef-database-first .net-core

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

条件编译常量在 .net 核心多目标 sdk 样式项目中不起作用

以下是最初定义条件编译常量的方式(注意多目标):

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>netstandard2.0;netcoreapp2.0;net461</TargetFrameworks>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' OR '$(TargetFramework)' == 'netstandard2.0'">
    <DefineConstants>NETCORE;</DefineConstants>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(TargetFramework)' == 'net461'">
    <DefineConstants>NETFULL;</DefineConstants>
  </PropertyGroup>
  ...

</Project>
Run Code Online (Sandbox Code Playgroud)

当时NETCORE常量工作正常。

#if NETCORE
    // Works Fine! Not gray in VS; Compiler recognizes code!
    public string Abc { get; set; }   
#endif
Run Code Online (Sandbox Code Playgroud)

我正在处理我的代码,但当时我的程序集没有编译。


之后,我添加了额外的条件编译常量(不编辑以前的 -NETFULLNETCORE):

<PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0'">
    <DefineConstants>NETCOREONLY;</DefineConstants>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

整体代码(程序集)仍未编译。

并删除了NETCOREONLY不需要的附加项,只留下以前的(NETCORENETFULL)。

整体代码(程序集)仍未编译。

问题是它NETCORE不再像以前那样工作了。

我正在切换到netcoreapp2.0平台,但代码

#if NETCORE …
Run Code Online (Sandbox Code Playgroud)

conditional-compilation csproj multitargeting visual-studio .net-core

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

如何在 .net core web api 中使用 HTTP get 方法传递参数?

我正在尝试使用 .net core web api 构建一个简单的 web api,它将执行基本的数学运算。我编写了由多个 get 方法组成的控制器部分,当它被调用时,它返回执行操作的值。控制器代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

namespace Calculation.Controllers
{
    [Route("api/[controller]")]
    public class MathController : Controller
    {
        [HttpGet("Add")]
        public int Add(int value1, int value2)
        {
            return value1 + value2;
        }
        [HttpGet("Subtract")]
        public int Substract(int value1, int value2)
        {
            return value1 - value2;
        }
        [HttpGet("Multiply")]
        public int Multiply(int value1, int value2)
        {
            return value1 * value2;
        }
        [HttpGet("Division")]
        public int Division(int value1, int value2)
        {
            return value1 / …
Run Code Online (Sandbox Code Playgroud)

.net c# .net-core asp.net-core asp.net-core-webapi

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

Application Insights - 从 .net 核心中间件添加属性

我正在尝试从我们的 .net 核心 MVC 应用程序中获取一些关于应用程序洞察的额外信息。我发现了以下帖子: 在 Application Insights 指标中为每个请求添加自定义属性

在答案中,他们使用自定义遥测初始值设定项,如果您想要一些请求数据或其他内容,则可以使用。

现在我们的应用程序中有一组中间件。他们将一些标题翻译成可读的内容。

当然,我们可以记录标题并搜索它们可以具有的所有不同值。但是我们希望将中间件的结果转化为应用洞察的属性。

任何人都知道如何将中间件的一些结果用于 Application Insights 请求遥测的属性?

.net asp.net-core-mvc azure-application-insights .net-core

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

.NET Core 最简单的独立静态文件服务器

我写了一个关于如何使用尽可能少的行和文件为 .NET Core 编写一个简单的静态文件服务器的问题。

它被标记为重复的ASP.NET Core - 服务静态文件。所以我的问题是:

这个答案真的简单的.NET核心静态文件的Web服务器可能吗?我是否理解正确(我试图将各种来源的信息拼凑在一起)?

启动文件

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;

namespace StaticFileServer {
    public class Startup{

        public void Configure(IApplicationBuilder app){
            app.UseDefaultFiles();
            app.UseStaticFiles(new StaticFileOptions() 
            {
                FileProvider = new PhysicalFileProvider(
                    Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\dist"))
            });
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

主文件

using System;
using Microsoft.AspNetCore.Hosting;

namespace StaticFileServer
{
    class Program
    {
        static void Main(string[] args)
        {    
            var host = new WebHostBuilder()
            .UseKestrel()
            .UseStartup<Startup>()
            .Build();

            host.Run();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# webserver .net-core

0
推荐指数
2
解决办法
2312
查看次数

.net core 解压文件并压缩子文件夹

我有一个 zip 文件的字节 []。我需要在内存中解压缩文件并在 zip 中找到“dist”文件夹(总会有一个 dist 文件夹)并创建一个新的 zip 文件,其中包含“dist”文件夹中的任何内容。

“dist”文件夹中可以包含文件和子文件夹。我需要 byte[] 中的新 zip 文件,因此只能在内存中操作,无法访问物理磁盘。

我尝试使用“SharpZipLib”没有运气。我正在使用 .net 核心 2.0

.net compression zip sharpziplib .net-core

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

如何使用 HashCode.Combine 避免冲突?

我在使用相当小的数据集(~100k 行)构建哈希表时遇到了冲突。我在这里做错了吗?

这是一个通常会生成相同哈希值的 2 位数据示例。(偶尔运行会产生不同的哈希值):

long long1 = 330765;
long long2 = 227691;
DateTime date1= new DateTime(2016, 5, 24);
DateTime date2= new DateTime(2016, 1, 25);

var c1 = HashCode.Combine(long1, date1);
var c2 = HashCode.Combine(long2, date2);
Console.WriteLine(c1);
Console.WriteLine(c2);
Run Code Online (Sandbox Code Playgroud)

可使用 dotnetcore 2.1 重现

c# hash .net-core

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

asp.net 核心不加载静态文件

我有一个带有以下代码的应用程序 .NET core 2.1:

 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        app.UseStaticFiles();
        app.UseStaticFiles(new StaticFileOptions
        {
            FileProvider = new PhysicalFileProvider(
        Path.Combine(Directory.GetCurrentDirectory(), "Assets")),
            RequestPath = "/Assets"
        });
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseHsts();
        }

        app.UseHttpsRedirection();
        app.UseMvc();
    }
Run Code Online (Sandbox Code Playgroud)

和我的结构文件夹:

在此处输入图片说明

但这些网址都没有打开图像:

“my-website.com/images/snes/alien.jpg”

“my-website.com/wwwroot/images/snes/alien.jpg”

“my-website.com/Assets/Snes/alien.jpg”

有人知道出了什么问题吗?

编辑:这是 CurrentDirectoy() 方法获取的文件夹(显然是正确的):

在此处输入图片说明

Edit2:使用此代码在 localhost 上工作,但在我在 azure 上发布时却没有:

 app.UseFileServer(
        new FileServerOptions()
        {
            FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot"))
        });
Run Code Online (Sandbox Code Playgroud)

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

0
推荐指数
3
解决办法
8574
查看次数

在 .Net Core 中添加 System.Windows.forms 的引用

我想写入我的 .resx 文件。我使用了 ResXResourceWriter,它在 Windows 形式下运行良好,但在 .Net Core 应用程序中不可用。它需要 system.Windows.Forms 但 .net core 不引用它。

ResXResourceWriter resx = new ResXResourceWriter(hostingEnvironment.WebRootPath + "\Localization\LabelResource.EN.resx")

.net c# asp.net .net-core

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

c# core async/await 停止调试

我有一个包含多个项目的解决方案。它在 .NET Core 2.2 中构建并使用例如 .NET EF。当调用异步方法时,调试器停止,没有例外,尝试..捕获它没有捕获错误,调试器直接转到控制台应用程序的末尾。清理所有 bin/obj 文件夹,删除 .vs 文件夹,检查所有 nuget 包的更新。

此时停止它的代码是我查询 EF async 的地方。但在此之前,我在执行 Web 请求的其他异步功能时遇到了同样的错误。来自 Microsoft 的所有第三方库。添加 .wait() 或 .result 后,问题就解决了,我可以继续了。

tRepository.Queryable().Where(q => q.Tenant.Guid == iBaseTenant.Guid).ToListAsync();
Run Code Online (Sandbox Code Playgroud)

程序“[17052] dotnet.exe”已退出,代码为 0 (0x0)。程序“[17052] dotnet.exe:程序跟踪”已退出,代码为 0 (0x0)。

c# entity-framework-core .net-core

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