我有一个在 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) 所以我有通过 ftp 下载的这个文件。该文件只是我工作的公司系统的配置文件。下载文件后,我打开文件并处理文件。文件处理的一部分是检查一行是否以 Unicode 字符开头\u001a
。
这就是我感到困惑的地方,因为.StartsWith("\u001a")
总是如此true
,但我不明白为什么。如果我在 Notepad++ 或十六进制编辑器中查看该文件,我只是看不到该文件。
所以我在这里缺少一些东西。
这是一个最小的例子(fiddle):
// prints True in .NET 5
Console.WriteLine("Hello".StartsWith("\u001a"));
Run Code Online (Sandbox Code Playgroud) 所以我有一个 .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。
使用 .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) 我是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) 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 值 (?, ?, ?, ?, ?, ?, ?, …
好吧,如此简单明了,我似乎无法调试客户端 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 …
继续进行一些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:无法对打开了用户映射部分的文件执行请求的操作.
所以这是连接代码.
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,我会得到同样的错误.不明白为什么代码在一个应用程序中工作而不在另一个应用程序中.
我熟悉任务的基本知识,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# ×8
sql-server ×2
.net-5 ×1
.net-8.0 ×1
.net-core ×1
async-await ×1
inno-setup ×1
python ×1
rabbitmq ×1
serilog ×1
sqlalchemy ×1
string ×1
task ×1
uwp ×1
wpf ×1