小编cra*_*bot的帖子

如何让 .Net Framework SignalR 客户端连接到 .Net Core SignalR 服务器?

这基本上是这个问题的副本,但存储库已存档,所以我不能在那里问:https : //github.com/aspnet/SignalR/issues/1645

我正在尝试让运行 .NET Framework 的旧应用程序连接到使用 SignalR 运行 .NET Core 的新应用程序。我读过一些帖子说 SignalR 的 AspNetCore 和 AspNet 版本不兼容,所以目标是让Microsoft.AspNetCore.SignalR.Client在 .NET Framework 应用程序上运行。

我已经使用框架版本 4.6.1 制作了一个测试项目,我认为它是 .NET Standard 2.0,所以我应该能够安装这个包https://www.nuget.org/packages/Microsoft.AspNetCore.SignalR.Client /1.0.0-preview1-final根据davidfowl的评论我无法在我的 4.6.1 项目上安装这个包,所以我一定做错了什么。

我还尝试了另一种解决方法,即使用Microsoft.AspNetCore.SignalR.Client v3.1.6代码创建 netstandard2.0 库,然后从我的 4.6.1 项目中引用 .dll。

我的 netstandard2.0 库中的 3.1.6 代码如下所示:

using Microsoft.AspNetCore.SignalR.Client;
using Microsoft.AspNetCore.SignalR;
using System;
using System.Collections.Concurrent;
public class SignalRConnection
{       
    private readonly HubConnection hubConnection;

    public SignalRConnection(string endpoint)
    {
        this.endpoint = endpoint;
        hubConnection = new HubConnectionBuilder()
         .WithUrl(endpoint)
         .Build(); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net signalr asp.net-core

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

当在一个列表上运行“序列”时,ghc 如何知道要列出哪个参数?

我有两个函数,我很困惑序列如何知道将哪个参数放入列表中,以及两者中的 Left 实际发生了什么

getMonStat :: T.Text -> IO (Either CmdError MonStat)
..
getMonStats :: [T.Text] -> IO (Either CmdError [MonStat])
getMonStats ms = do
  monStats <- mapM getMonStat ms
  pure $ sequence monStats
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 为什么这样做?在 mapM 之后,我有monStats :: [Either CmdError MonStat]. 运行序列[m a]将其转换为m [a]. 为什么不是初始类型,[m a b]因为它CmdError也是一种类型?如果CmdError是要考虑的类型,ghc 怎么知道选择MonStat而不是CmdError列表化?或者使用类型:为什么序列转换为m a b -> m a [b]而不是m a b -> m [a] b? …

haskell ghc

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

Microsoft Bot Framework System.ArgumentException:'EncryptedText格式不正确'

我正在使用最新的bot框架更新.我有两个问题.

  1. 我很好奇的第一件事就是初始设置我已经按照README.md的要求将botFilePath和botFileSecret输入到appsettings.json中.一旦我尝试在本地运行它,它似乎无法从appsettings.json读取.我查看了Configuration类变量,但无法弄清楚为什么它无法从我输入的键中获取值.这是代码片段 - 我几乎从https中复制了它: //github.com/Microsoft/BotBuilder-Samples/blob/master/samples/csharp_dotnetcore/05.multi-turn-prompt/Startup.cs

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddBot<MultiTurnPromptsBot>(options =>
        {
            var secretKey = Configuration.GetSection("botFileSecret")?.Value;
            var botFilePath = Configuration.GetSection("botFilePath")?.Value;
    
            // Loads .bot configuration file and adds a singleton that your Bot can access through dependency injection.
            var botConfig = BotConfiguration.Load(botFilePath, secretKey);
    
    Run Code Online (Sandbox Code Playgroud)

它失败了 BotConfiguration.Load(...) because botFilePath is null (NullException error).

  1. 如果我尝试和值硬编码的secretKeybotFilePath从我appsettings.json文件直接进入机器人的代码,然后我得到一个新的错误:

System.ArgumentException: 'EncryptedText is not properly formatted'失败在同一个地方.我在应用程序设置下从Azure门户获取了我的密码...我无法找到有关ArgumentException错误的任何信息.有人有什么建议吗?

.net c# botframework

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

如何使用 Microsoft Graph C# SDK 查看结束日期和开始日期之间的 calendarView

我正在尝试使用 Microsoft Graph SDK 来查询 calendarView 端点。我可以使用常规进行此查询,HttpClient但为了方便起见,我希望通过 SDK 执行此操作。我将尝试使用查询参数命中的端点如下所示:

GET /v1.0/me/calendar/calendarView?startDateTime=2019-01-01T00:00:00.0000000&endDateTime=2019-03-01T00:00:00.0000000

我试图通过这种方式通过 Graph SDK 进行调用:

var graphClient = new GraphServiceClient(new PreAuthorizedBearerTokenAuthenticationProvider(accessToken));
var rooms = await graphClient.Me.Events.Request().Filter("start/dateTime eq '2019-01-08T20:00:00.0000000' and end/dateTime eq '2019-01-08T20:00:00.0000000'").GetAsync();
Run Code Online (Sandbox Code Playgroud)

我为此收到了 200 分,但我的回复中没有任何值。如果我删除结束/日期时间部分,我将获得开始/日期时间日的值。似乎过滤器仅适用于特定情况而不适用于范围。有没有人有在范围内过滤的任何提示?

.net c# microsoft-graph-sdks microsoft-graph-api

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