我有以下 json
"PayloadData": {
"CustomFields": ['test','test2'],
"SampleNumber":"123"
}
Run Code Online (Sandbox Code Playgroud)
我正在使用下面的代码来反序列化 json。
Message message = JsonConvert.DeserializeObject<Message>(payloadData);
Run Code Online (Sandbox Code Playgroud)
这是我在Message课堂上的财产
/// <summary>
/// Gets or sets CustomFields
/// </summary>
[Required]
[DataMember(Name = "CustomFields")]
public List<string> CustomFields{ get; set; }
Run Code Online (Sandbox Code Playgroud)
但是,我得到以下错误。
“无法映射属性 'Message.CustomFields',因为它的类型是 'string[]',它不是受支持的原始类型或有效的实体类型。要么显式映射此属性,要么使用 '[NotMapped ]' 属性或通过在 'OnModelCreating' 中使用 'EntityTypeBuilder.Ignore'。”
我的应用程序是一个.NET Core应用程序。
我有一个public如下所示的方法,它有两个私有方法。
public bool CallService(JObject requestJsonObj, out Status status)
{
bool provisioningSuccess = false;
var preProcessSuccess = PreProcessing(requestJsonObj,out Status status);
var postProcessSuccess = PostProcessing(requestJsonObj,out Status status);
if(preProcessSuccess && postProcessSuccess)
{
status = Status.ProvisionSuccess;
provisioningSuccess = true;
}
return provisioningSuccess;
}
Run Code Online (Sandbox Code Playgroud)
这是状态和私人课程
public enum Status
{
[Description("User/Pwd not valid")]
CredentialInvalid = 111,
[Description("Provision is success")]
ProvisionSuccess = 112,
}
private PreProcessing(JObject JosnObj,
out Status status)
{
using (var client = new HttpClient())
{
var request = …Run Code Online (Sandbox Code Playgroud) 我尝试了下面的命令
Get-Module -ListAvailable
Run Code Online (Sandbox Code Playgroud)
但它没有在列表中向我显示“故障转移集群”
从哪里可以下载这个模块?我需要安装任何 SDK 吗?注意:我不想安装 Azure SDK。还有其他办法吗?
更新 我正在使用本地 Windows 10 远程连接到 Azure 虚拟机 (Windows Server 2012 R2)。我确实想使用本地 Windows 10 计算机上的 powershell 管理所有配置。
我的配置appsettings.json如下:
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
},
"GatewaySettings": {
"DBName": "StorageDb.sqlite",
"DBSize": "100"
}
}
Run Code Online (Sandbox Code Playgroud)
这是表示配置数据的类
public class GatewaySettings
{
public string DBName { get; set; }
public string DBSize { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
配置服务如下:
services.AddSingleton(Configuration.GetSection("GatewaySettings").Get<GatewaySettings>());
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误:
值不能为空.参数名称:implementationInstance'
码:
public class SqlRepository
{
private readonly GatewaySettings _myConfiguration;
public SqlRepository(GatewaySettings settings)
{
_myConfiguration = settings;
}
}
Run Code Online (Sandbox Code Playgroud)
依赖注入代码:
var settings = new IOTGatewaySettings();
builder.Register(c => new SqlRepository(settings))
Run Code Online (Sandbox Code Playgroud)
背景
我将ASPNET CORE应用程序作为Windows服务托管,而.NET Framework是4.6.1
注意:此处出现类似问题但未提供解决方案.System.ArgumentNullException:Value不能为null,参数名称:implementationInstance
我创建了新的ASP.NET Core Web Application和使用ASP.NET Core 2.1过的跨平台框架.
接下来,我添加了System.Data.SQLite.Core使用Nuget manager.它是x86和x64的官方SQLite数据库引擎以及ADO.NET提供程序.
我的主要方法
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
SQLiteConnection con = new SQLiteConnection("abc");
}
Run Code Online (Sandbox Code Playgroud)
当我运行该应用程序时,它正在尝试搜索 1.0.109.0而不是已安装的1.0.109.1版本.
所以最终会像预期的那样抛出异常
System.IO.FileNotFoundException HResult = 0x80070002消息=无法加载文件或程序集'System.Data.SQLite,Version = 1.0.109.0,Culture = neutral,PublicKeyToken = db937bc2d44ff139'.该系统找不到指定的文件.来源=
那么,为什么它在寻找错误的版本?
截图供参考
我的解决方案平台是"任何CPU",我在x64上的x64 Windows 7上运行
奇怪
当我在课堂上做F12时SQLiteConnection,它会去
我的.csproj文件
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="System.Data.SQLite.Core" Version="1.0.109.1" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
这是我的Job,需要每一分钟执行一次,这依赖于logger
public class RefreshJob :IJob
{
public RefreshJob(IContainerFactory containerFactory)
{
_logger = containerFactory.GetInstance<ILogger>();
}
public Task Execute(IJobExecutionContext context)
{
return Task.Run(() =>
{
_logger.Information("Executing sample job");
_logger.Information($"Name: {context.JobDetail.Key.Name}");
_logger.Information($"Description: '{context.JobDetail.Description}'");
_logger.Information($"Fire time utc: {context.FireTimeUtc:yyyy-MM-dd HH:mm:ss zzz}");
});
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的dependency injection
var containerFactory = new ContainerFactory();//class with GetInstance method.
_builder.Register(c => new RefreshJob(containerFactory)).SingleInstance();
Run Code Online (Sandbox Code Playgroud)
这就是我获取scheduler参考的方式
static async Task<IScheduler> GetScheduler()
{
var factory = new StdSchedulerFactory();
return await factory.GetScheduler();
}
Run Code Online (Sandbox Code Playgroud)
我在start我的方法中使用它windows service
public …Run Code Online (Sandbox Code Playgroud) 我正在使用 MQTTNet,这是一个 .NET 库,用于基于以下链接的 MQTT 通信
https://github.com/chkr1011/MQTTnet
我正在使用managed MQTT Client下面的链接
https://github.com/chkr1011/MQTTnet/wiki/ManagedClient
我有以下代码来publish发送消息MQTT server。
var messagePayload = new MqttApplicationMessageBuilder()
.WithTopic("Topic1")
.WithPayload(message)
.WithExactlyOnceQoS()
.WithRetainFlag()
.Build();
try
{
await mqttClient.PublishAsync(messagePayload);
}
catch (Exception ex)
{
//Why I am not getting exception?
}
Run Code Online (Sandbox Code Playgroud) 我有一个具有以下属性的 Web API 项目
项目.csproj显然有以下设置
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
构建是success在 Visual Studio 中进行的,但是当我尝试publish该项目时出现以下错误
此版本的 Microsoft.AspNetCore.All 仅与 netcoreapp2.2 目标框架兼容。请定位 netcoreapp2.2 或选择与 netcoreapp2.1 兼容的 Microsoft.AspNetCore.All 版本。
我正在使用Visual Studio菜单选项进行发布。我正在发布到Azure app service. 发布到File System没有显示任何错误。
我有如下 nuget
可能是什么原因?
我的客户使用的是“ HP Elitebook 840”触摸屏笔记本电脑,最近我们为他们的服务启动了一个网站,不幸的是,该网站上的按钮单击事件无效。经过长时间的研发,我们意识到这是触摸屏问题,禁用它后,鼠标单击事件开始起作用。
点击此处获取更多信息:Click事件在Chrome中不起作用,但是当我们从控制台手动执行时会触发事件
由于有40多个用户使用相同的触摸屏笔记本电脑,因此我们想运行一个脚本来禁用这些笔记本电脑的触摸功能。我认为网络管理员需要运行powershell脚本才能执行此操作,但是我无法弄清楚如何编写单个脚本来禁用系统的触摸屏
我正在阅读http://www.surfaceforums.net/threads/disable-the-touch-screen-to-use-the-pen.12338/,但是由于我是PowerShell的新手,因此需要更详细的步骤。
我下面有一节课,负责根据一些商业状况提出活动。
public class EventRaiserClass : IEventRaiserClass
{
public event EventHandler SendEventToClient;
public void RaiseEventForClient()
{
SendEventToClient?.Invoke(this, EventArgs.Empty);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的客户班
public class Client :IClient
{
EventRaiserClass _eventRaiser;
public Client(EventRaiserClass eventraiser)
{
_eventRaise = eventraise;
_iotGwStatus.SendEventToClient += OnSendEventToClient;
}
private async void OnSendEventToClient(object sender, EventArgs e)
{
await SendEventToClient();
}
public async Task SendEventToClient()
{
//do some operation
}
}
Run Code Online (Sandbox Code Playgroud)
EventRaiserClass 被注入到下面的类中,该类负责处理一些订单
public class ProcessRequest: IProcessRequest
{
IEventRaiserClass _evntRaiser;
public ProcessRequest(IEventRaiserClass evntRaiser)
{
_evntRaiser = evntRaiser;
}
public void Process(JObject json) …Run Code Online (Sandbox Code Playgroud) 我正在使用Kendo的Scheduler控件.我试图在每天的标题中呈现每日容量(现在硬编码30%),如下面的屏幕所示.如何用数据源中的数据替换硬编码?

这是我用过的代码.我在下面的代码中有30%的硬编码.
<!DOCTYPE html>
<html>
<head>
<style>html { font-size: 12px; font-family: Arial, Helvetica, sans-serif; }</style>
<title></title>
<link rel="stylesheet" href="http://cdn.kendostatic.com/2015.1.429/styles/kendo.common-material.min.css" />
<link rel="stylesheet" href="http://cdn.kendostatic.com/2015.1.429/styles/kendo.material.min.css" />
<link rel="stylesheet" href="http://cdn.kendostatic.com/2015.1.429/styles/kendo.dataviz.min.css" />
<link rel="stylesheet" href="http://cdn.kendostatic.com/2015.1.429/styles/kendo.dataviz.material.min.css" />
<link rel="stylesheet" href="http://cdn.kendostatic.com/2015.1.429/styles/kendo.default.mobile.min.css" />
Run Code Online (Sandbox Code Playgroud)
<script src="Scripts/jquery.min.js"></script>
<script src="Scripts/kendo.web.min.js"></script>
<script>
$(function () {
$('#scheduler').kendoScheduler({
date: new Date("2013/09/02"),
dateHeaderTemplate: kendo.template("<u>#=kendo.toString(date, 'dd/M')#</u> - (30%)"),
});
});
</script>
</head>
<body>
<div id="scheduler"></div>
/body>
Run Code Online (Sandbox Code Playgroud)
现在,我将从API获得"百分比",并希望设置为datasource,并且从数据源我想将其渲染为标题
来自JavaScript的当前数据源设置代码
var datasource = new kendo.data.SchedulerDataSource({
data:Model.recordCollection // setting data
});
scheduler.setDataSource(datasource);
Run Code Online (Sandbox Code Playgroud)
但是这个数据源与日历事件有关,这不包含日常容量.那么如何设置来自不同数据源的日常容量数据呢?
根据答案,我正在编辑这个问题
var actualDC = ["30","20","10","50","70","60","40"]; …
c# ×7
asp.net-core ×3
.net ×2
.net-core ×2
powershell ×2
unit-testing ×2
appsettings ×1
build ×1
json.net ×1
kendo-ui ×1
mqtt ×1
msbuild ×1
publishing ×1
quartz.net ×1
sqlite ×1
touch ×1