小编Sam*_*eer的帖子

是否等待多个任务比第一个例外更多?

今天我的同事和我讨论了如何正确处理C#5.0 async方法中的异常,我们想知道是否同时等待多个任务也会观察到运行时未解包的异常.

请考虑以下代码段:

async Task ExceptionMethodAsync()
{
    await Task.Yield();
    throw new Exception();
}

async Task CallingMethod()
{
    try
    {
        var a = ExceptionMethodAsync();
        var b = ExceptionMethodAsync();

        await Task.WhenAll(a, b);
    }
    catch(Exception ex)
    {
        // Catches the "first" exception thrown (whatever "first" means)

    }
}
Run Code Online (Sandbox Code Playgroud)

现在第二项任务会发生什么?两者都将处于故障状态,但是现在观察到还是未观察到的第二个任务异常?

c# asynchronous exception-handling async-await

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

Jenkins + Github:我们无法提供此有效负载:无法连接到服务器

我正在尝试在GitHub上配置Web挂钩,以便它可以将POST发送到http://127.0.0.1:8080/github-webhook/

我的詹金斯正在http://127.0.0.1:8080上运行

这是我的GitHub Web钩子配置: 在此输入图像描述

我收到以下错误:
在此输入图像描述

我的詹金斯肯定在http://127.0.0.1:8080/上运行.所以,这肯定不是问题.

github jenkins

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

运行所选代码生成器时出错:无法解析类型“Microsoft.EntityFrameworkCore.DbContextOption”的服务

我正在使用 Visual Studio 2022 Preview 和 .NET 6 SDK。

这里我创建了一个有 2 层的 webAPI 项目。api项目(Bgvsystem.webAPI)类库(BgvSystem.Persistance)

NuGet 包-

安装包 Microsoft.EntityFrameworkCore.SqlServer -版本 6.0.0-rc.1.21452.10

安装包 Microsoft.EntityFrameworkCore.Tools -版本 6.0.0-rc.1.21452.10

安装包 Microsoft.VisualStudio.Web.CodeGeneration.Design -版本 6.0.0-rc.1.21464.1

当我尝试使用脚手架添加控制器时,出现以下错误

There was an error running the selected code generator: unable to resolve service for type 'microsoft.entityframeworkcore.dbcontextoption.. While attempting to activate Dbcontext in  .net 6 and visual studio 2022 preview
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如何解决这个问题?请帮忙解决这个问题。

asp.net-core-webapi entity-framework-6.4 .net-6.0 visual-studio-2022

14
推荐指数
3
解决办法
9666
查看次数

如何处理Web应用程序的版本控制?

对Web应用程序/网站进行版本控制的策略是什么?

我注意到在Beta中,页脚中有一个svn修订版号,这对于在一个存储库上使用svn的应用程序来说是理想的.但是如果你使用外部或不同的源代码控制应用程序版本分开文件怎么办?

对于桌面应用程序来说似乎很容易,但我似乎无法为asp.net Web应用程序找到合适的版本控制方式.

NB我不确定我的问题是否完全清楚.

  1. 我想知道的是如何构建和自动增加asp.net应用程序的版本号.
  2. 我对如何将它与svn链接不感兴趣.

versioning asp.net version-control

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

Visual Studio中提供的Publish方法有什么区别?

当我点击以下选项的发布选项时: 发布方法

每种方法的意义是什么?

c# azure-deployment visual-studio-2015

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

谁可以在VSTS中删除分支?

我是Visual Studio Team Services帐户的所有者.我创建了一个回购,它有2个分支.我已经允许所有人访问,即每个成员都可以访问回购.

在此输入图像描述

虽然我的团队成员没有创建分支,但他想删除它,但他不能和我可以(我也没有创建分支).当我检查时,我们具有相同级别的访问权限,即两个项目管理员.

这个问题背后的原因是什么?

azure-devops

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

VSTS中的“复制文件”与“发布工件”任务之间有什么区别?

在我的Copy Files任务中,我将所需文件复制到将要进行部署的文件共享位置。发布工件步骤的用途是什么?还是在我看来已经过时了。我对应该在框中输入什么值感到困惑。

在此处输入图片说明

azure-devops azure-pipelines-build-task

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

VS 2022 - 17.3.6 - 未使用的Using语句不再显示为灰色,即使在工具中该选项已被签出

我正在使用 Microsoft Visual Studio Professional 2022(64 位) - 当前版本 17.3.6 我最近注意到未使用的 using 语句并未灰显。我使用的是深色主题,而不是高对比度主题。有人遇到过同样的问题吗? 在此输入图像描述

visual-studio visual-studio-2022

10
推荐指数
0
解决办法
672
查看次数

macOS Swift:如何正确添加应用程序作为登录项

我花了大约一天(可能多一点)试图按照它在macOS启动(用户登录)启动的顺序将我的应用程序添加到Login Item.

  1. 第一种方法是最新的方法; 我在youtube上查看了这个教程:https://www.youtube.com/watch?v = 2mmWEHUgEBo & t = 660s

所以按照这个步骤,我做了:

  1. 在我的主项目中添加我命名为Launcher的新项目
  2. 我使用自动签名(作为我的Xcode的版本)是不同的 在此输入图像描述

  3. 在项目设置>功能中,我将App Sandbox切换为ON.

  4. 在构建阶段我添加了这个: 在此输入图像描述

  5. 我的启动器已跳过安装=是 在此输入图像描述

  6. 我的Launcher应用程序中的代码看起来像这样(我以前甚至使用Swift来做同样的事情)

      - (void)applicationDidFinishLaunching:(NSNotification *)aNotification 
    {
        // Insert code here to initialize your application
    
        NSArray *pathComponents = [[[NSBundle mainBundle] bundlePath] pathComponents];
        pathComponents = [pathComponents subarrayWithRange:NSMakeRange(0, [pathComponents count] - 4)];
        NSString *path = [NSString pathWithComponents:pathComponents];
        [[NSWorkspace sharedWorkspace] launchApplication:path];
        [NSApp terminate:nil];
    } 
    
    Run Code Online (Sandbox Code Playgroud)
  7. 最后,我在主应用程序中有魔术代码,以启用应用程序作为登录项

  if(!SMLoginItemSetEnabled("click.remotely.Remotely-Click-Server-Launcher"
 as CFString, Bool(checkboxButton.state as NSNumber) ) ) {
            let alert: NSAlert = NSAlert()
            alert.messageText = "Remotely.Click Server - Error"; …
Run Code Online (Sandbox Code Playgroud)

macos cocoa objective-c swift macos-sierra

9
推荐指数
3
解决办法
2110
查看次数

烧瓶应用GET两次返回相同的东西

我目前有两种方法可以同时调用(通过Java中的HTTP)

出于某种原因,有一个实例,其中getAcc()返回相同的帐户信息两次?我不太明白为什么会这样.

我认为在调用toggleUse()之前第二次调用get_account是可能的(因此IN_USE变量尚未设置为1).有谁知道如何解决这一问题?我在网上做了一些阅读,我相信这个术语是序列化.我已经看到这主要是关于数据库,但几乎没有看到如何"锁定"该方法的参考.我可以创建一个锁并做"带锁:"但我听说这不是要走的路.

@app.route('/getAcc')
def get_account():
    try:
        cursor.execute("SELECT USER,PASS FROM ACCOUNTS WHERE TUT_DONE = 0 AND IN_USE = 0 LIMIT 1;")
        return jsonify(data=cursor.fetchall())
    except (AttributeError, MySQLdb.OperationalError):
        open_db()
        return get_account()


@app.route('/toggleUse', methods=['POST'])
def toggle_use():
    try:
        username = request.values['username']
        update_stmt = (
          "UPDATE ACCOUNTS SET IN_USE = !IN_USE WHERE USER = (%s)"
        )
        data = (username,)
        cursor.execute(update_stmt,data)
        db.commit()
        return 'Account ' + str(username) +  ' IN_USE toggled'

    except (AttributeError, MySQLdb.OperationalError):
        open_db()
        return toggle_use()
Run Code Online (Sandbox Code Playgroud)

python flask

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