我想用一个例子来说明我的情况。
假设我们有存储过程,并且该过程包含这几行 SQL 代码
BEGIN TRY
-- Generate a divide-by-zero error.
SELECT 1/0;
END TRY
BEGIN CATCH
throw
END CATCH;
GO
Run Code Online (Sandbox Code Playgroud)
当然,如果我们执行这个 sp,它会返回被零除的异常:
遇到除以零错误
是否可以使用 Dapper 获取 SQL 抛出消息?这是 dapper 请求电话
var data = sqlConnection.QueryFirstOrDefault<response>(QueryConstants.SpXXX,
parameters, null, Constants.DAPPER_TIMEOUT, CommandType.StoredProcedure);
Run Code Online (Sandbox Code Playgroud)
我正在使用 sql server 2017 和 Dapper 1.50.4.0
我想使用 ZXing(0.16.4) 创建一个二维码但我遇到以下异常,
System.InvalidOperationException: '您必须设置渲染器实例。'
几乎相同的代码适用于 .Net Framework 4.6.1
这是我的代码
static void Main(string[] args)
{
var qrCode = CreateQrCode("test");
Console.ReadKey();
}
public static byte[] CreateQrCode(string content)
{
BarcodeWriter<Bitmap> writer = new BarcodeWriter<Bitmap>
{
Format = BarcodeFormat.QR_CODE,
Options = new QrCodeEncodingOptions
{
Width = 100,
Height = 100,
}
};
var qrCodeImage = writer.Write(content); // BOOM!!
using (var stream = new MemoryStream())
{
qrCodeImage.Save(stream, ImageFormat.Png);
return stream.ToArray();
}
}
Run Code Online (Sandbox Code Playgroud) 被锁定在 .NET 2.0 上,我无法使用 GOOGLE VISION C# API,它仅在 .NET 4.0 之后可用。
所以我想在这样的网络请求中使用这个 API:
string webAddr = "https://vision.googleapis.com/v1/images:annotate?key=XXXXXXXXXXX";
var httpWebRequest = (HttpWebRequest)WebRequest.Create(webAddr);
httpWebRequest.ContentType = "application/json; charset=utf-8";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = " { \"requests\": [ { \"image\": { \"content\": " + this.b64 + " }, \"features\": [ {\"type\": \"TEXT_DETECTION\" }] }] }";
streamWriter.Write(json);
streamWriter.Flush();
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var responseText = streamReader.ReadToEnd();
Console.WriteLine(responseText);
}
Run Code Online (Sandbox Code Playgroud)
问题是我从谷歌永久获得了 …
我有一个这样的对象:
public class Filters {
public int var1 = 1,
var2 = 2,
var3 = 3;
}
Run Code Online (Sandbox Code Playgroud)
我在这里声明这个对象:
Filters filter1 = new Filters();
Run Code Online (Sandbox Code Playgroud)
我想循环访问var1、var2、 并用它做一些事情。var3IE:
foreach (var prop in filter1.props) {
Console.WriteLine(filter1[prop] + 3);
}
Run Code Online (Sandbox Code Playgroud)
输出将是:
4
5
6
Run Code Online (Sandbox Code Playgroud)
我想我需要使用 foreach 循环为每个属性做一个 foreach 循环
foreach(PropertyInfo p in filter1.GetType().GetProperties()),但我不知道如何 1) 循环遍历 props var1、var2、var3 和 2) 如何使用存储filter1在变量中的名称对 prop 进行子集化
c# ×4
.net-core ×1
dapper ×1
orm ×1
post ×1
qr-code ×1
reflection ×1
sql-server ×1
zxing ×1
zxing.net ×1