小编And*_*ndy的帖子

从另一个对象中获取SignalR Core中的Hub Context

我正在使用Microsoft.AspNetCore.SignalR(最新版本),并希望从另一个不是的对象中获取集线器上下文Controller.在"完整"SignalR中,我可以使用GlobalHost.ConnectionManager.GetHubContext<MyCoolHub>();

我已经看到很多例子只是Microsoft.AspNetCore.SignalR.IHubContext<MyCoolHub>作为一个参数添加到一个Ctor Controller,但没有例子(那是有效的).

ETA:

所以,这就是我的工作.这个hacky?

public class MyHub : Hub
    public static IHubContext<MyHub> GlobalContext { get; private set; }
    public MyHub(IHubContext<MyHub> ctx){
        GlobalContext = ctx;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我可以这样称呼它:

await MyHub.GlobalContext.Clients.All.InvokeAsync(...)
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core asp.net-core-signalr

7
推荐指数
2
解决办法
6884
查看次数

CosmosDBTrigger:在哪里指定连接字符串?

使用Visual Studio 2017,我创建了一个新的Azure功能应用程序.我添加了一个函数,其中一个属性参数是ConnectionStringSetting.这应该是存储在某处的设置的参考,但我无法弄清楚我的生活在哪里.

当我尝试调试方法时,这就是我得到的: 在此输入图像描述

我试图把它放在local.settings.json文件中,没有运气.我试图添加一个app.config/ appSettings部分,但也没有做任何事情.

我在这个方法中没有做任何疯狂的事情:

namespace MyFunctions
{
    public static class TestUpdated
    {
        [FunctionName("DocumentUpdated")]
        public static void Run(
            [CosmosDBTrigger("mydb", "somecollection",
            ConnectionStringSetting = "DbConnString",
            LeaseCollectionName = "lease-test-trigger",
            CreateLeaseCollectionIfNotExists = true)]
            IReadOnlyList<Document> documents, TraceWriter log)
        {
            log.Info("Documents modified " + documents.Count);
            log.Info("First document Id " + documents[0].Id);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的所有扩展和nuget包都是最新版本.

那么,你如何设置连接字符串?这是几个小时尝试不同的事情,没有任何作用.

azure azure-functions azure-cosmosdb

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

在.net核心控制台应用程序中创建Websocket服务器

有什么方法可以创建可以承载WebSocket服务器的.NET Core 控制台应用程序?

我看到了很多东西,但仅用于与ASP.NET Core依赖项注入一起使用。

我最终使用的NuGet软件包必须是.NET Core,而不是完整的.NET。

如果可以Microsoft.AspNetCore.WebSockets在控制台应用程序中使用,该怎么办?

c# websocket .net-core asp.net-core

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

有没有办法以编程方式创建Azure ServiceBus主题

我想创建一个TopicMicrosoft.Azure.ServiceBus通过代码。我看到在中有一个NamespaceManager对象Microsoft.ServiceBus,但是找不到新Azure名称空间的任何内容。我正在使用.NET Core。

这有待实施吗?还是我看起来不够努力?

如果这不可能,是否有办法在上创建过滤器SubscriptionClient()

谢谢!

servicebus azure

5
推荐指数
1
解决办法
2558
查看次数

Newtonsoft JSON在合并和/或序列化时删除null属性

请考虑以下情形:

var s1 = "{\"hello\":\"world\", \"test\":\"somevalue\"}";
var s2 = "{\"hello\":\"world\", \"test\":null}";

var j1 = JObject.Parse(s1);
var j2 = JObject.Parse(s2);

j1.Merge(j2, new JsonMergeSettings { MergeArrayHandling = MergeArrayHandling.Union, MergeNullValueHandling = MergeNullValueHandling.Merge });

var jf = JsonConvert.SerializeObject(j1, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
Run Code Online (Sandbox Code Playgroud)

结果jf{"hello":"world", "test":null}

我如何调用库以获得合并的结果: {"hello":"world"}

这是一个我必须递归遍历结果对象并手动删除空值属性的情况吗?或者是否有一些魔术棒说"在序列化时只丢弃这些空值"

我知道JsonProperty -> NullValueHandling,但这些是我正在使用的动态对象,所以模型是未知的.

c# json json.net

5
推荐指数
0
解决办法
924
查看次数

在 Windows 10 上将 DirectInput 与 XBOX One 控制器和窗口焦点结合使用

我正在尝试使用 DirectInput 捕获 XBOX One 控制器输入信号。我将其绑定到 C# WinForms 应用程序。我遇到的问题是:当表单具有焦点时,它可以很好地捕获输入。当窗口失去焦点时,我不会得到任何反馈。在 Windows 7 上,这不是问题。

我在 Windows 10 上尝试过其他控制器:PS4、罗技、方向盘等...一切都按预期工作:当窗口失去焦点时,我仍然会收到反馈。它只是 Windows 10 上的 XBOX One 控制器。

我想这可能与这一行有关:

dev.SetCooperativeLevel(_ctlParent, CooperativeLevel.Background | CooperativeLevel.Nonexclusive);
Run Code Online (Sandbox Code Playgroud)

但是,即使我去掉那条线,一切仍然表现相同。

看起来 XBOX One 控制器会忽略该CooperativeLevel.Background标志并添加该CooperativeLevel.Foreground标志。这是有关标志的更多信息。

还有其他熟悉这个问题的人已经找到了解决方法吗?

directx directinput slimdx

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

.NET 针对 VS2017 中的多个框架。如何让 IDE 定位特定的预处理器指令?

我正在创建一个类库并让它针对多个框架。在本例中为.NetStandard 2.0 和.Net Framework 4.5。我想专门为 .NET 4.5 编写代码,但它总是呈灰色,而且我没有得到智能感知。如何告诉 IDE 我想在 .NET 4.5 上工作?

在此输入图像描述

我发现您可以更改此设置,但它不会改变 IDE 的反应方式(我知道这是为了运行应用程序,但我想我应该尝试一下):

在此输入图像描述

这可能是一个愚蠢的问题,但我在网上找不到任何关于在 IDE 中针对特定框架的信息。谢谢。

.net c# visual-studio .net-standard

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

Python-dotenv could not parse statement starting at line 2

Python-dotenv 无法解析从第 2 行开始的语句

I have uninstalled and reinstalled python-dotenv still i get same error. Could anyone sort this?

terminal development-environment web-development-server flask python-venv

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

“Invoke-WebRequest:底层连接已关闭:意外错误

以下是我的自定义脚本扩展中的代码

$AllProtocols = [System.Net.SecurityProtocolType]'Ssl3,Tls,Tls11,Tls12'
[System.Net.ServicePointManager]::SecurityProtocol = $AllProtocols
Invoke-WebRequest -Uri https://aka.ms/downloadazcopy-v10-windows -OutFile $env:C:\temp\azcopy.zip
Run Code Online (Sandbox Code Playgroud)

当我运行自定义脚本扩展时,出现以下错误

"Invoke-WebRequest : The underlying connection was closed: An unexpected error
Run Code Online (Sandbox Code Playgroud)

关于如何解决它有任何帮助吗?

.net powershell azure

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

使用Linq从C#中的字典中删除具有相同值数据的多个键

我知道必须有更好的方法来做到这一点......也许是LINQ?如果我删除一个值,它会使迭代器无效,这就是为什么我在无限循环内部重新启动进程的原因.我正在寻找一种更容易阅读,维护并最终更快的方法.这是我得到的:

Dictionary<string, string> Channels = //...;
while (true)
{
    var bFound = false;
    foreach(var c in Channels)
    {
        if(c.Value == version)
        {
            Channels.Remove(c.Key);
            bFound = true;
            break;
        }
    }
    if (!bFound) { break; }
}
Run Code Online (Sandbox Code Playgroud)

感谢您帮助优化此例程.

c# linq dictionary

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