除了阅读github中的代码之外,是否有关于SignalR.Redis包如何工作的白皮书类型的文档?具体来说,我想知道它为Redis添加了哪些键,更新/删除策略等.当我在Redis中查看时,我看到的是下一个调用中指定的一个键(即"SignalR.Redis.Sample"):
GlobalHost.DependencyResolver.UseRedis(server, Int32.Parse(port), password, "SignalR.Redis.Sample");
Run Code Online (Sandbox Code Playgroud)
这把钥匙似乎只是雷迪斯的一个柜台.我假设正在创建其他密钥并快速删除,以方便连接到Redis的每个应用服务器之间的消息.
我有一个Powershell脚本,可以停止IIS网站和相应的应用程序池,然后删除应用程序日志(log4net日志).这是脚本片段:
stop-website -name "MyWebsite"
stop-webapppool -name "MyWebsite"
del c:\inetpub\MyWebsite\logs\*.*
Run Code Online (Sandbox Code Playgroud)
问题是stop-website和stop-webapppool似乎在网站完全关闭之前返回,导致删除失败,说该文件正由另一个进程使用:
del:无法删除项目C:\ inetpub\MyWebsite\logs\App.log:进程无法访问文件'C:\ inetpub\MyWebsite\logs\App.log',因为它正由另一个进程使用.
如果我在stop命令和del命令之间添加10秒睡眠,则会成功删除日志.这是非常hackish但不可靠.有没有办法强制stop-website/stop-webapppool命令在网站/ apppool完全停止之前不返回?
谢谢.
从以下链接实施解决方案.我将等待~60秒然后如果它没有停止则终止IIS进程.
https://greenfinch.ie/blog/powershellscript.html
"Stopping IIS site [$name]" >> $logFile
stop-website -name $name
"Stopping app pool [$name]" >> $logFile
stop-webapppool -name $name
$sleepTime = 5
$processId = $TRUE
while ($processId)
{
$processId = Get-WmiObject -Class win32_process -filter "name='w3wp.exe'" |
?{ ($_.CommandLine).Split("`"")[1] -eq $name } |
%{ $_.ProcessId }
if ($sleepTime -gt 60)
{
"Waited [$sleepTime] sec for process [$processId] to stop and it is still running. …Run Code Online (Sandbox Code Playgroud) 我有一个CloudFormation模板,它会调出一个自动缩放组.它具有以下实例配置文件以及相关的角色和策略.有没有办法将现有的IAM角色添加到InstanceProfile?AWS文档似乎拒绝:
目前,最多可以为实例配置文件分配一个角色.
基本上我想在模板中保留以下角色和策略创建,以便策略可以引用SQS资源(即"资源":[{"Fn :: GetAtt":["LifecycleSQS","Arn"]}])创建通过模板,同时还分配一个预先存在的角色,该角色将为实例上的应用授予权限.我不想在CloudFormation模板中创建这些应用程序特定权限.
"InstanceRole":{
"Type":"AWS::IAM::Role",
"Properties":{
"AssumeRolePolicyDocument":{
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":[
"autoscaling.amazonaws.com"
]
},
"Action":[
"sts:AssumeRole"
]
}
]
},
"Path":"/"
}
},
"RolePolicies":{
"Type":"AWS::IAM::Policy",
"Properties":{
"PolicyName": "MyRolePolicy,
"PolicyDocument":{
"Statement":[
{
"Effect": "Allow",
"Resource": [{ "Fn::GetAtt" : ["LifecycleSQS", "Arn"] }],
"Action": [
"sqs:SendMessage",
"sqs:GetQueueUrl",
"sns:Publish"
]
}
]
},
"Roles":[
{
"Ref":"InstanceRole"
}
]
}
},
"InstanceProfile":{
"Type":"AWS::IAM::InstanceProfile",
"Properties":{
"Path":"/",
"Roles":[
{
"Ref":"InstanceRole"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)