小编use*_*808的帖子

SignalR.Redis如何在引擎盖下工作?

除了阅读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的每个应用服务器之间的消息.

redis signalr

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

如何确保在Powershell中完全停止IIS网站?

我有一个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)

iis powershell

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

在CloudFormation中将多个IAM角色与AWS :: IAM :: InstanceProfile相关联

我有一个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)

amazon-web-services aws-cloudformation amazon-iam

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