草庐IT

从零部署.NetCoreAPI到Linux

全部标签

Linux 上的 C# 服务器可伸缩性问题

我有一个在VisualStudio2010和MonoDevelop2.8上开发的C#服务器。NET框架4.0看起来此服务器在Windows上的表现(在可伸缩性方面)比在Linux上好得多。我使用Apache的ab工具在nativeWindows(12个物理内核)以及8核和12核Windows和Ubuntu虚拟机上测试了服务器可扩展性。Windows响应时间非常平稳。当并发级别接近/超过核心数量时,它开始回升。出于某种原因,Linux响应时间要差得多。从并发级别5开始,它们几乎呈线性增长。8核和12核LinuxVM的行为也类似。所以我的问题是:为什么它在linux上表现更差?(以及我该如

一文搞懂Linux的标准输出/错误重定向

前言 今天在写一个脚本时,需要将shell命令和可执行程序的输出重定向在某一个log文件中,但是遇到了点小问题,索性就研究下输出重定向到底怎么回事。 Linux系统,有一个非常重要概念,就是一切皆文件。在使用shell脚本时,系统为了能够进行接收外部输入,同时向外部输出,将三个文件始终保持在打开的状态,并使用三个文件描述符0,1,2来分别指向这三个文件,以此来完成标准输入,标准输出,标准错误输出。标准输入:由键盘输入标准输出:输出到屏幕标准错误:输出到屏幕 在正常情况下,我们执行shell命令时,其输出总是标准输出或者标准错误,因此总是会将输出的信息,不论是正常信息还是报错信息,都会打印在屏幕

c# - 使用 CI 服务器自动部署

在我们的项目中,部署总是一件痛苦的事情,这主要是因为发布管理团队所犯的错误。他们要么搞砸了配置,要么以某种方式安装了错误的版本。我们使用teamcity作为我们的CI服务器,它以zip文件(dll和exe)的形式生成工件,这些文件通常传递给发布团队。我的问题是,有没有办法自动化整个部署过程?是否有支持此功能的商业工具?我们将要执行以下操作:使用环境特定值更新配置文件。为服务器安装windows服务。将UI(WPF)包上传到集中位置(由另一个应用程序下拉,类似于启动器)。更改数据库连接字符串。针对各种环境(如int、uat和prod)执行上述所有操作数据库部署因为是一个单独的野兽,所以不

c# - Web 部署 API - 部署 .NET 4.5 应用程序

我们正在使用WebDeploy3的(几乎完全未记录的)“公共(public)API”来创建我们网站的.zip包,然后将其同步到服务器:DeploymentBaseOptionsdestinationOptions=newDeploymentBaseOptions(){UserName=//username,Password=//password,ComputerName=//aserver};using(vardeploymentObject=DeploymentManager.CreateObject(DeploymentWellKnownProvider.Package,"C:/M

c# - 在持续部署中管理密码

我们正在使用TeamCity部署持续集成环境。当我们完成CI流程并转向持续部署时,我们遇到了如何管理生产密码的问题。对于配置中的其他更改,我们使用Web.Config转换。但是,我真的不想在构建配置文件中烘焙生产密码。在CI/CD之前,我们会获取Web.config,使用aspnet_regiis解密连接字符串,更改密码,然后重新加密。显然,这很容易出错,根本不符合CI/CD的精神。我还有其他几个想法,基本上都是关于在部署脚本中使用某些东西来重写然后加密文件的连接字符串部分,但这似乎一定是一个常见问题,而且必须是一些普遍接受的解决方案。但到目前为止,我找不到它。有没有“正确的方法”?谢

c# - Visual Studio 2013 远程调试、自动部署?

当我尝试使用Windows应用商店应用程序(Metro应用程序)进行远程调试时,它非常容易。在“开始”下拉菜单中,我可以选择一台远程计算机。然后VS构建项目,自动部署可执行文件到远程电脑并运行。感觉好像是本地调试。现在我想尝试使用Windows应用程序(简单的C#Windows窗体)进行远程调试,但这并不容易。我阅读了以下页面:http://msdn.microsoft.com/en-us/library/vstudio/8x6by8d2(v=vs.110).aspx这是否意味着我每次构建项目时都必须手动将构建的exe复制到远程计算机?有没有办法让它像Windows应用商店应用程序一样

c# - C#部署的安装问题

我有一个使用ClickOnce部署的程序部署,然后安装在我的机器上。我尝试运行它,它给了我以下错误:PLATFORMVERSIONINFOWindows:5.1.2600.196608(Win32NT)CommonLanguageRuntime:2.0.50727.3053System.Deployment.dll:2.0.50727.3053(netfxsp.050727-3000)mscorwks.dll:2.0.50727.3053(netfxsp.050727-3000)dfdll.dll:2.0.50727.3053(netfxsp.050727-3000)dfshim.dl

Linux下创建一个git仓库详细介绍

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、git仓库创建前的准备注意:(引号内请输入你自己设置的名字,和你自己的邮箱)此用户名和邮箱是git提交代码时用来显示你身份和联系方式的,以便其他人看不懂你的代码能联系到你,并不是gitee用户名和邮箱二、使用步骤1.加载2.提交3.推送(上传)4.处理警告三、hint冲突处理前言git仓库是现在流行的云端仓库,各大企业都有在使用,我们应该掌握其使用方法一、git仓库创建前的准备这里我们用的是国内版的git。首先安装一下git,下面的指令执行一下就可以了poiuytr-】sudoyuminstall-ygit第一次下

在Linux系统(CentOS 8.2)腾讯云服务器下部署原神云崽机器人(Yunzai-Bot)【保姆入门级】

在决定记录这篇文章之前,我从几天前开始接触云服务器到一步步部署完成,确实是从无到有,一点点理解一点点实践。实践真的非常重要!!!因为肯定比你看书看教程视频强太多太多。这篇文章仅仅只是做一个我部署成功的经历和思考,也会向大家介绍我的思考实践过程。欢迎大家私聊指正!前期准备云服务器购买与系统配置软件的选择与安装(供参考,也可按照步骤操作)正式操作,安装下载1.更换软件仓库源方式2.更新一下系统的软件3.准备环境1.安装nodejs2.安装chromium3.安装redis4.安装中文包5.克隆项目6.进入云崽目录7.安装pnpm8.安装依赖9.启动redis10.运行软件11.按照提示输入信息别急

c# - 调试 AzureFunction 以及部署 azure 函数时缺少 ProviderName

我在获取DbContext以从我的local.settings.json正确提取连接字符串时遇到问题上下文:这是一个Azure函数项目主要问题代码在System.Data.Entity.Internal.AppConfig虽然我有一个local.settings.json文件,但这不是dotnet核心。这是.net4.6.1错误信息:'Theconnectionstring'ShipBob_DevEntities'intheapplication'sconfigurationfiledoesnotcontaintherequiredproviderNameattribute."'Jso