经过大约十二次部署后,wwwroot由于活动的开发和部署,目录中充满了大量文件.我们正在使用VSTS的Azure App Service Deploy任务部署到Azure Web站点Windows Server以获取ASP.NET Web API项目,有没有办法wwwroot在部署到Avsts预部署清理之前清理目录?
有没有办法设置在azure站点下运行的网站的应用程序池的超时.
我有一个网站在那里运行,似乎它需要在闲置一段时间后再次启动.
我想知道Azure WebJobs SDK是否可以触发异步方法?目前我有一个如下所示的方法:
class Program
{
static void Main(string[] args)
{
var host = new JobHost();
host.RunAndBlock();
}
public static void ProcessStuff([QueueInput("myqueue")] string msg)
{
var tsk = ProcessStuffAsync(msg)
.ContinueWith(x => HandleAsyncError(x),
TaskContinuationOptions.OnlyOnFaulted);
tsk.Wait();
}
public static async Task ProcessStuffAsync(string msg)
{
// do some async stuff and await it
}
// other methods ...
}
Run Code Online (Sandbox Code Playgroud)
但是,我想知道我是否可以让JobHost知道调用我的异步方法呢?尝试在WebJobs中使用async/await时,没有大量的文档,如果可以的话,它会非常好.
我正在尝试在本地运行此测试...但WebJobs SDK不支持本地存储模拟器...
更新2014年4月7日:Victor的答案是正确的,但我确实想要展示你在WebJob中使用异步方法会看到什么(他们确实有效).
对于WebJob中的方法,如下所示:
public async static Task ProcessMessageAsync([QueueInput("testq2")] string message)
{
await Task.Delay(50);
Console.WriteLine("Processing Message Async...");
Console.WriteLine(message);
}
Run Code Online (Sandbox Code Playgroud)
您将在WebJobs日志中看到以下输出:
running in pid: …Run Code Online (Sandbox Code Playgroud) 我有一个Azure网站.为了这个问题,网站的生产版本运行example.com,并运行网站的测试版本sandbox.example.com.
两者之间的唯一区别是它们具有不同的配置.
目前,他们在不同的网站上运行,我通过git将相同的网站部署到每个azure网站.
我想分离出Application Insights数据.是否存在任何人使用的技术或流程 - 除了ApplicationInsights.config在部署后在沙箱环境中编辑文件?
或者使用部署槽以某种方式处理这个?
我一直在努力寻找一些有助于解释的资源,以及我们如何将文件存储与Web App Service一起使用.
有一些方法可以将它与旧的Web角色一起使用,请点击此处http://fabriccontroller.net/blog/posts/using-the-azure-file-service-in-your-cloud-services-web-roles-and-工人角色/
但是,"Azure Web服务"中没有OnStart()方法.
在我的ASP.NET 5(RC1)代码中,我有一个appsetting.json,看起来像这样:
{
"SomeSettings": {
"PropA": "ValueA",
"PropB": [
"ValueB1",
"ValueB2"
]
}
}
Run Code Online (Sandbox Code Playgroud)
在我的开发机器上运行代码时使用这些值(即localhost).如果我想覆盖wep应用程序的Azure应用程序设置中的"SomeSettings",我将如何指定"PropB"数组?
我想要存储信息的SomeSettings.cs类如下所示:
public class SomeSettings
{
public string PropA { get; set; }
public List<string> PropB { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
问题是"PropB" - 如何在Azure中将数组或List指定为字符串 - 这是否可能?
在我的Startup类的构造函数中,我有:
var builder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.AddEnvironmentVariables();
Run Code Online (Sandbox Code Playgroud)
在我的Startup类的配置方法中,我有:
var someSettings = configuration.GetSection("SomeSettings").Get<SomeSettings>();
Run Code Online (Sandbox Code Playgroud) 我正在使用VSTS中的"Azure Web App部署"构建步骤将ASP.NET Core API发布到Azure Web App:
有时,此步骤会出现以下错误:
[error] Microsoft.Web.Deployment.DeploymentDetailedClientServerException:Web Deploy无法修改目标上的文件"MyProject.Api.exe",因为它已被外部进程锁定.为了使发布操作成功,您可能需要重新启动应用程序以释放锁定,或者在下次发布尝试时使用.Net应用程序的AppOffline规则处理程序.有关详情,请访问:http: //go.microsoft.com/fwlink/?LinkId = 221672 #ERROR_FILE_IN_USE.
此GitHub问题引发了同样的问题,但没有使用Azure Web App部署构建步骤的建议解决方案.
azure azure-web-sites azure-devops azure-pipelines-build-task azure-pipelines
当我将带有QueueTrigger(在app.config中定义的队列连接)的连续运行的Azure WebJob部署到部署槽(例如"Staging")时会发生什么?
它会开始运行并收听队列中的消息,还是只会在生产槽中启动?
我担心的是,如果只是开始处理来自队列的消息,即使它还不在生产槽中.如果是这种情况,是否应将队列连接字符串从app.config移动到Azure网站配置中,以便我的暂存和生产插槽可以在不同的队列上运行?
我在Azure上有一个相当高负载的部署:4个大型实例,每秒服务大约300-600个请求.在正常情况下:"平均响应时间"为70到150毫秒,但有时它可能长到200-300毫秒,但它绝对没问题.
虽然,每天一到两次(不是在"高峰时间"),我在网站监控标签上看到了这样的图片:
因此,每分钟的请求数量显着下降,平均响应时间增加到3分钟,一段时间后 - 一切都恢复正常.
在此"停电"期间,只有0.1%的请求被删除(带有超时的Http服务器错误),其他请求只是在队列中等待,并且通常在几分钟后处理.虽然,并非所有客户都准备等待:-(
内存使用率始终低于30%,CPU使用率仅高达40-50%.
我已经检查了什么?:
这些问题可能是什么原因?我接下来可以检查什么?
谢谢大家!
更新1:BenV提出了尝试的好处,但不幸的是它没有显示任何内容:-(
我配置了每500k请求回收的进程并且还添加了工作节点,因此现在CPU利用率现在不到40%,但仍然会出现停电.
更新2:项目使用ASP.Net MVC 4.
我在发布(使用visual studio webdeploy)我的webapp到azure时遇到了网络故障.后来我再次尝试,然后我收到以下错误信息.
错误5 Web部署任务失败.(Web部署无法修改目标上的文件'NewRelic.Agent.Core.dll',因为它被外部进程锁定.为了使发布操作成功,您可能需要重新启动应用程序以释放锁定,或者在下次发布尝试时使用.Net应用程序的AppOffline规则处理程序.有关详细信息,请访问:http: //go.microsoft.com/fwlink/?LinkId = 221672 #ERROR_FILE_IN_USE.)0 0 Gamook.VideoServer.Web.Api
所以我重新启动了我的webapp几次,但同样的例外.然后我尝试用FTP.那也是一次失败.几分钟后,我再次尝试使用visual studio web部署,然后发布成功.但现在我正在建设503错误网站.任何的想法?
注意:我也尝试了离线应用.没有希望
azure ×10
azure-web-sites ×10
c# ×3
azure-devops ×2
asp.net-core ×1
asp.net-mvc ×1
azure-files ×1