小编Gaz*_*z83的帖子

突然 - 工作项目中“证书链是由 Microsoft.Data.SqlClient 中不受信任的机构颁发的”

我有一个在 Windows Server 上的 IIS 中运行的 ASP.Net Webforms 网站。该服务器上还有 SQL 服务器。

该网站的一切工作正常,但现在我发现使用 DataAdapter 填充表格存在问题。

这是一些代码,请注意,这只是代码的基本轮廓,因为实际代码包含机密信息。

public List<Summary> Fetch(string Connection, int parameter1, int parameter2, bool parameter3)
{
     List<Summary> collection = new List<Summary>();

     using (SqlConnection dbConnection = new SqlConnection(Connection))
     {
        using (SqlCommand dbCommand = dbConnection.CreateCommand()) // Result is complex
        {
            dbCommand.CommandType = CommandType.StoredProcedure;
             
            //
            // Code to add parameters and set commandText goes here
            //

            using (SqlDataAdapter da = new SqlDataAdapter(dbCommand))
            {
                DataTable table = new DataTable();
                DataRow row;

                try
                {
                  da.Fill(table); …
Run Code Online (Sandbox Code Playgroud)

c# sql-server

28
推荐指数
2
解决办法
4万
查看次数

需要理解为什么 string.StartsWith() 应该是 false 时却是 true

所以我有通过 ftp 下载的这个文件。该文件只是我工作的公司系统的配置文件。下载文件后,我打开文件并处理文件。文件处理的一部分是检查一行是否以 Unicode 字符开头\u001a

这就是我感到困惑的地方,因为.StartsWith("\u001a")总是如此true,但我不明白为什么。如果我在 Notepad++ 或十六进制编辑器中查看该文件,我只是看不到该文件。

所以我在这里缺少一些东西。

这是一个最小的例子(fiddle):

// prints True in .NET 5
Console.WriteLine("Hello".StartsWith("\u001a"));
Run Code Online (Sandbox Code Playgroud)

c# string .net-5

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

将 Serilog 作为 Microsoft.Extentions.Logging.ILogger 正确注入 .net core 类 - 不是 ASP .Net Core

所以我有一个 .Net Core 控制台应用程序和一堆 .Net core 库。

库中的大多数类都有这样的构造函数。

public class ReportingManager
{
   private ILogger _logger;
   Public ReportingManager(ILogger logger)
   {
      _logger = logger;
   }
}
Run Code Online (Sandbox Code Playgroud)

具有ILogger类型Microsoft.Extentions.Logging.ILogger

在我的控制台应用程序中我有这个。

class Program
{
    static void Main(string[] args)
    {           
            var serilog = new LoggerConfiguration()
                .MinimumLevel.Debug()
                .MinimumLevel.Override("Microsoft", Serilog.Events.LogEventLevel.Warning)
                .Enrich.FromLogContext()
                .WriteTo.Console(theme: AnsiConsoleTheme.Code)
                .CreateLogger();

            ReportingManager manager = new ReportingManager(serilog);

    }
}
Run Code Online (Sandbox Code Playgroud)

我在“ReportingManager manager = new ReportingManager(serilog);”处出现智能感知错误

无法从“Serilog.Core.Logger”转换为“Microsoft.Extensions.Logging.ILogger”

所以我的问题是,如何正确传入 Serilog?

在线和此处查看过,但大多数讨论的是 ASP.Net Core。

c# serilog .net-core

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

EF Core 错误“$”附近的语法不正确,但 EF Core 生成了查询?

使用 .NET 8 RC2 和 EF Core

我创建了一个动态查询并执行了该查询,结果出现以下错误

Microsoft.Data.SqlClient.SqlException (0x80131904): Incorrect syntax near '$'.
Incorrect syntax near '$'.
Incorrect syntax near '$'.
Run Code Online (Sandbox Code Playgroud)

如果我运行.ToQueryString()查看生成的查询,我会得到这个。

DECLARE @__startDate_0 smalldatetime = '2023-10-26T00:00:00';
DECLARE @__endDate_1 smalldatetime = '2023-10-26T00:00:00';
DECLARE @__siteNos_2 nvarchar(4000) = N'[15,42,56,74,89,98,102,104,109,113,114,115,116,118,120,121,122,123,124,124,125,127,128,129,130,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,156,157,158,159,161,162,163,164,165,167,169,170,171,172,173,175,176,177,178,179,180,181,182,183,185,186,187,188,189,190,191,192,193,194,195,196,197,199,200,201,202,205,206,207,208,209,210,211,212,213,214,215,216,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,295,296,296,297,300,301,303,304,305,306,307,308,309,310,311,312,313,316,317,318,319,320,321,322,323,324,325,326,328,331,333,334,335,338,339,340,341,342,343]';
DECLARE @__startTime_3 time = '07:00:00';  
DECLARE @__endTime_4 time = '22:00:00';  
DECLARE @__upperLimit_5 smallint = CAST(30000 AS smallint);  
DECLARE @__lowerLimit_6 smallint = CAST(0 AS smallint);
DECLARE @__stationIds_7 nvarchar(4000) = N'[117,116,98]';
DECLARE @__courseIds_8 nvarchar(4000) = N'[7]';

SELECT [o].[order_no], [o].[Bumped], [o].[Check_no], [o].[checkback], [o].[Course], …
Run Code Online (Sandbox Code Playgroud)

c# sql-server entity-framework-core .net-8.0

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

使用Check函数时原型无效

我是InnoSetup的新手,因为我正在尝试各种安装程序.

我使用Inno Script Studio和内置向导创建了我的第一个脚本.到现在为止还挺好.现在我想让它检测是否安装了.Net 4.5,如果没有安装它.所以,我浏览了整个网络,并且在这里我遇到了这个解决方案,但是当我将代码复制并粘贴到我的脚本中时,我在编译时遇到以下错误.

Compiling [Code] section
Compiler Error!
Line 54: Column 10: Invalid prototype for 'IsDotNetDetected'
Run Code Online (Sandbox Code Playgroud)

我脚本中的第54行就是这个

function IsDotNetDetected(version: string; service: cardinal): boolean;
Run Code Online (Sandbox Code Playgroud)

有谁知道这个错误意味着什么,为什么我会得到它?

这是我的完整脚本:

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "AVO Log"
#define MyAppVersion "0.1.0.1"
#define MyAppPublisher "NA"
#define MyAppExeName "AVO Log.exe"

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the …
Run Code Online (Sandbox Code Playgroud)

inno-setup

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

SQLAlchemy - 错误 TVP 的行必须是序列对象

C# 开发者使用 python,我在使用 SQLAlchemy 将行插入 SQL 数据库时遇到问题。

更新代码是这样的。

def updateDatabase(self, testSummary):
        params = quote_plus(
            "DRIVER={ODBC Driver 17 for SQL Server};SERVER=GBBED01DB01\SQLHOTEL2;DATABASE=TesterDb;trusted_connection=yes")
        engine = create_engine(
            "mssql+pyodbc:///?odbc_connect={}".format(params))

        Session = sessionmaker(bind=engine)

        session = Session()
        session.add(testSummary)

        for testStepResult in testSummary.testStepResults:   <------- Exception
            session.add(testStepResult)
            for ictResult in testStepResult.ictResults:
                session.add(ictResult)

        try:
            session.commit()
        except Exception as e:
            print("SQL failed to save\n" + e)
Run Code Online (Sandbox Code Playgroud)

我已经标记了异常发生的位置,这就是异常。

(pyodbc.ProgrammingError) (“TVP 的行必须是序列对象。”, 'HY000') [SQL: 'INSERT INTO [IctResults] ([didTestPass], [testName], 组件, [lowerLimit], [upperLimit], 测量、[rawMeasured]、[isOverRange]、[isUnderRange]、[isPosativeInfinity]、[isNegativeInfinity]、[testStepResultId]) 输出插入的 id 值 (?, ?, ?, ?, ?, ?, ?, …

python sqlalchemy

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

无法调试客户端 blazor

好吧,如此简单明了,我似乎无法调试客户端 blazor。

我已经添加了

"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}"
Run Code Online (Sandbox Code Playgroud)

正如此处建议的Blazor WebAssembly 3.2.0 Preview 3 版本现已推出

我已经在 IIS Express 和 kestrel 上尝试过 F5。

我读到您需要启用脚本调试。我打开了它,现在当我按 F5 时,我的浏览器尝试去

file:///C:/%5CProgramData%5CMicrosoft%5CVisualStudio%5CEdgeAdapter%5C8d1196ff/landingPage.html
Run Code Online (Sandbox Code Playgroud)

我可以确认我在 env.IsDevelopment 下的 server ->startup.cs 中有以下内容

app.UseWebAssemblyDebugging();
Run Code Online (Sandbox Code Playgroud)

尝试 Alt+Shift+D,然后尝试 Win+R,最后在新的浏览器窗口中再次尝试 Alt+Shift+D。这似乎只对服务器端有利,无论如何服务器端都在工作。

尝试了此处的各种建议无法从 Visual Studio 2019 16.6.2 调试 Blazor 托管的 WebAssembly 3.2.0

Visaul Studio版本:16.7.2
.NetCore 3.1.401
Edge(Chromium)版本84.0.522.63

我知道在一些地方我看到人们说他们的断点被忽略了。不确定它们的含义是否与此相同,但对我来说,Visual Studio 表示在调试时永远不会命中断点并且不会加载任何符号。

更新 1:
出于好奇,我创建了一个全新的项目。
Visual Studio -> Blazor 应用程序 -> Blazor WebAssembly 应用程序
配置 HTTPS 未选中 ASP.NET Core 托管已选中

在客户端项目中IncrementCount()放置一个断点。 F5 和同样的问题。Counter.Razor

UPDATE2:
所以只是添加一些更多的信息。我安装了 Visual …

c# blazor-client-side blazor-webassembly

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

Visual Studio 2015和uwp开发 - 用户映射的部分错误和CopyWin32Resources错误

继续进行一些UWP开发,并且有两件事情在视觉工作室中不断发生,如果它是一个VS2015错误我无法解决,我正在部署到Windows Mobile 10设备或其他东西.

随机地,当我尝试构建或部署到我的设备时,我得到了.

无法将"obj\ARM\Debug\MyApp.exe"复制到"bin\ARM\Debug\MyApp.exe".超过重试次数10.失败.

无法将文件"obj\ARM\Debug\MyApp.exe"复制到"bin\ARM\Debug\MyApp.exe".无法对打开了用户映射部分的文件执行请求的操作.

或者我明白了

CopyWin32Resources失败,退出代码为500

似乎是随机的,我无法确定导致这种情况的原因.谷歌搜索并没有真正帮助.有人说Anti-virus但是我的禁用没有做任何事.有些人说它与某些事情有关,Visual Studio Achievements Extension但我没有安装它.

有谁知道原因或解决方法?当我无法部署时,使开发变得困难.

更新:好的,我认为第一组错误与Windows 10更相关.当错误再次出现时,我尝试手动复制文件,当我这样做时,我在资源管理器中收到类似的错误.

错误0x800704c8:无法对打开了用户映射部分的文件执行请求的操作.

c# visual-studio-2015 uwp

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

RabbitMQ CreateConneciton问题 - 在一个应用程序中运行,但在另一个应用程序中运行

所以这是连接代码.

var factory = new ConnectionFactory
{
    HostName = "myserver",
    UserName = "testuser",
    Password = "testuserpassword"
};

using (var connection = factory.CreateConnection())
 using (var channel = connection.CreateModel())
        {
            channel.QueueDeclare(queue: "LOG",
                                 durable: false,
                                 exclusive: false,
                                 autoDelete: false,
                                 arguments: null);

            string message = "Hello World!";
            var body = Encoding.UTF8.GetBytes(message);

            channel.BasicPublish(exchange: "",
                                 routingKey: "LOG",
                                 basicProperties: null,
                                 body: body);
            Console.WriteLine(" [x] Sent {0}", message);
        }
Run Code Online (Sandbox Code Playgroud)

我在一个控制台应用程序中测试它,一切正常,我可以发送和接收消息.

如果我然后将上面相同的代码复制并粘贴到我的WPF应用程序中,我会在这里得到一个例外

connection = factory.CreateConnection()
Run Code Online (Sandbox Code Playgroud)

例外

抛出异常:RabbitMQ.Client.dll中的"System.ArgumentException"

附加信息:myserver无法解析IP地址

如果我将"myserver"更改为服务器ip,我会得到同样的错误.不明白为什么代码在一个应用程序中工作而不在另一个应用程序中.

c# wpf rabbitmq

4
推荐指数
2
解决办法
2274
查看次数

运行任务,做一些事情,然后等待?

我熟悉任务的基本知识,asyn/await等,但我没有做太多预先的事情而且我有点困在一个问题上.我有一种与相机系统进行通信的方法.相机代码使用a在自己的线程上运行Task.

    public Task<bool> DoCameraWork()
    {
       bool Result = true;

       return Task.Run<bool>(() =>
         {
             for (int i = 0; i < 10; i++)
             {
                 // Do something which will set Result to True or False

                 if (Result)
                     break;
                 else
                     Task.Delay(1000);
             }

            return Result;
         });
    }
Run Code Online (Sandbox Code Playgroud)

我想要做的是启动任务(DoCameraWork),更新UI,调用另一个方法,然后等待任务完成后再继续.

什么是实现这一目标的最佳方式?这是一个模拟方法,我希望能解释一下.是的代码很差,但它只是为了解释我想要实现的目标.

// Running on UI Thread
public async void SomeMethod()
{
   DoCameraWork();  // If I do await DoCameraWork() then rest of code won't process untill this has completed

   TextBox.Text = "Waiting For camera …
Run Code Online (Sandbox Code Playgroud)

c# task async-await

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