小编Don*_*mmy的帖子

是否可以使用不同的连接字符串更新 ConnectionMultiplexer,还是应该重新创建它?

我们正在使用 StackExchange.Redis 客户端。我们还使用 Sentinel,它会告诉我们 Redis 主服务器何时发生变化。由于我们已经创建了连接(按照Lazy<IConnectionMultiplexer>建议),我们想知道更改连接信息以现在指向新的 Redis 主节点的最佳方法是什么?

我们看到几个选项:

  1. 当通知来自 Sentinel 时,创建一个新的Lazy<IConnectionMultiplexer>
  2. 更改现有连接多路复用器上的连接信息

#2 可能吗?

我们目前的方式:

    private Lazy<IConnectionMultiplexer> CreateRedisConnection()
    {
        return new Lazy<IConnectionMultiplexer>(
            () =>
            {
                ConnectionMultiplexer multiplexer = null;

                    //Connect to Sentinel so we can find the redis master
                    ConnectionMultiplexer sentinelMultiplexer = ConnectionMultiplexer.Connect(SentinelOptions);

                    string masterNodeAddress = GetMasterNodeAddress(sentinelMultiplexer);

                    return ConnectionMultiplexer.Connect(masterNode);
            }
        );
    }
Run Code Online (Sandbox Code Playgroud)

然后在收到通知后,我们只需重新调用即可CreateRedisConnection()

但这完全重新创建了连接多路复用器,而不是更轻量级的方法(这可能是不可能的)。

.net c# redis stackexchange.redis .net-standard

6
推荐指数
1
解决办法
364
查看次数

为什么这个文件系统api requestQuota调用失败?

我正在编写一个HTML5应用程序以在Chrome中运行,但它将在本地文件系统上(因此他们将通过双击html文件启动它).当我尝试访问文件系统时抛出错误,我认为这是因为它是本地文件.有没有办法让Chrome允许这个?

(注意:我确实得到弹出窗口,要求我允许应用程序永久存储,然后单击"确定".它仍然会抛出此错误)

以下代码抛出错误:

DOMException {message: "NotSupportedError: DOM Exception 9", name: "NotSupportedError", code: 9, INDEX_SIZE_ERR: 1, DOMSTRING_SIZE_ERR: 2…}

filetest.html

<!DOCTYPE html>
<html>
    <head></head>
    <body>
        <script>
        //File System handler
        window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;

        function onInitFs(fs) {
            console.log('Opened file system: ' + fs.name);
        }

        function errorHandler(e) {
            var msg = '';

            switch (e.code) {
            case FileError.QUOTA_EXCEEDED_ERR:
                msg = 'QUOTA_EXCEEDED_ERR';
                break;
            case FileError.NOT_FOUND_ERR:
                msg = 'NOT_FOUND_ERR';
                break;
            case FileError.SECURITY_ERR:
                msg = 'SECURITY_ERR';
                break;
            case FileError.INVALID_MODIFICATION_ERR:
                msg = 'INVALID_MODIFICATION_ERR';
                break;
            case FileError.INVALID_STATE_ERR:
                msg = …
Run Code Online (Sandbox Code Playgroud)

javascript html5 google-chrome html5-filesystem

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

搜索文件中的内容并使用PHP更改内容的最佳(最有效)方法是什么?

我有一个用PHP阅读的文件.我想寻找一些以一些空格开头的行,然后是我正在寻找的一些关键词(例如,"project_name:"),然后更改该行的其他部分.

目前,我处理这个问题的方法是将整个文件读入一个字符串变量,操作该字符串,然后将整个文件写回文件,完全替换整个文件(通过fopen( filepath, "wb" )fwrite()),但这感觉效率低下.有没有更好的办法?

php io file

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

为什么我打包的 chrome 扩展没有更新?

更新:解决了一个部分,但没有解决其他部分

  1. 我现在有 CRX 更新(它不是重建)。

  2. 但是,Chrome 不会接受 https URL 中的 XML 或 CRX。

我相信#2 是因为它是一个自签名证书。有谁知道是否有办法解决这个问题?(这纯粹是为了开发,所以在内部托管)

原帖:

我创建了一个托管在我的内部网站上的打包扩展程序,但是通过从桌面拖动它被添加到 Chrome 中(因为 Chrome 不允许通过外部网站安装打包扩展程序 - 请参阅此处:将 ExtensionInstallSources 首选项添加到 Chrome 的 URL 之后首选项,仍然不允许安装“.crx”打包应用程序)。

清单已update_url设置为位于我网站上的 XML 文件。该 XML 文件具有设置在updatecheck codebase='...'. 这两个文件都存在于网站上并且可以找到。我也更新过的从版本号2.0.0.2,以2.0.0.2在XML文件和两个manifest.json。我还在扩展的 index.html 文件中进行了更改。

我检查了appid,它在 XML 文件和 Chrome 中是一样的。

尽管单击“立即更新扩展程序”按钮大约 50 次,并等待 10 分钟,它仍然没有更新。

注意:我确实将内部 ip 192.168.1.108 别名为该站点托管在我的主机文件中,myinternal.fake但这在 chrome 和 firefox 中都有效,所以我认为这不是问题

更新 XML 文件(位于:https://myinternal.fake/updates/helloworld.xml

<?xml version='1.0' encoding='UTF-8'?> …
Run Code Online (Sandbox Code Playgroud)

google-chrome web-applications browser-extension google-chrome-extension google-chrome-app

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

如何在我的应用旁边显示"允许访问文件网址"复选框?我在清单中有文件写权限

更多信息/更新

我打包并安装了谷歌自己的示例应用程序,显示文件系统访问权限,它也没有显示复选框!

你可以在这里找到它:https://github.com/GoogleChrome/chrome-app-samples/tree/master/filesystem-access

原帖

我有权在我的清单中询问filesystem.write能力,但在chrome://extensions页面上,复选框没有出现.当我点击我的应用程序图标旁边的"权限"时,它只显示:

"写入您在应用程序中打开的文件"

我究竟做错了什么?(这是托管应用)

的manifest.json

{
    "manifest_version": 2,
    "name": "Hello World",
    "description": "A test application",
    "version": "2.0.3.92",
    "minimum_chrome_version": "23",
    "offline_enabled": true,
    "update_url": "http://mywebsite.com/updates/helloworld.xml",
    "icons": 
    {
        "16": "icon_16.png",
        "128": "icon_128.png"
    },
    "app": 
    {
        "background": 
        {
            "scripts": 
            [
                "utils.js",
                "fs.js",
                "main.js"
            ]
        }
    },
    "permissions": 
    [
        "unlimitedStorage",
        "fullscreen",
        {
            "fileSystem": 
            [
                "write"
            ]
        },
        "background",
        "http://*/",
        "tabs"
    ]
}
Run Code Online (Sandbox Code Playgroud)

google-chrome google-chrome-extension google-chrome-devtools google-chrome-app

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

如何使用pdf.js确定pdf的大小,以便我可以缩放到屏幕大小?

我需要缩放一个pdf,以便它填满屏幕的高度,但我发现的只是功能scale().我怎么知道要缩放多少?

javascript pdf html5 pdf.js

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

为什么使body标签的样式"position:relative"导致绝对定位的div开始降低?

如果我创建一个div(在页面的顶部)有一个margin-top: 10px,那么一个绝对定位的div(在更高的z-index和div 之外以及div的父级之外)开始不是在top: 0px但是在10px!

http://jsfiddle.net/afv3gze7/

为什么是这样?简单地删除position: relative正文修复了所有内容(但导致我的代码中的其他内容出现问题 - 我需要相对定位的身体).

http://jsfiddle.net/afv3gze7/1/

问题代码:

<!DOCTYPE html>
<html>
    <head>
        <style>
            html
            {
                position: relative;
                min-width: 100%;
                height: 100%;
                min-height:100%;
            }

            body
            {
                min-width: 100%;
                min-height:100%;
                font-size: 100%;
            }
            .outer
            {
                position: relative;
                top: 0em;
                left: 0em;
                width: 100%;
                height: 100%;
                background-color: #ffffff;
            }

            .overlay
            {
                position: absolute;
                top: 0px;
                left: 0em;
                width: 100%;
                height: 100%;
                background-color: #000000;
                -moz-opacity: 0.50;
                -khtml-opacity: 0.50;
                -webkit-opacity: 0.50;
                opacity: …
Run Code Online (Sandbox Code Playgroud)

html css html5 css3

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

使用CSS/CSS3如何构建流体列布局,其中不同高度的项目出现在上面的项目附近?

使用下面的代码(在图像之后)我得到这样的布局:

在此输入图像描述

但我想要的是这样的布局:

在此输入图像描述

我目前的代码:

CSS:

#columns
{
    column-width: 320px; /* change to EM later */
    column-gap: 15px;
    width: 90%;
    max-width: 770px;
    margin: 50px auto;
}

#columns .card 
{
    background: #fefefe;
    border: 2px solid #fcfcfc;
    box-shadow: 0 1px 2px rgba(34, 25, 25, 0.4);
    margin: 0 2px 15px;
    padding: 15px; padding-bottom: 10px;
    transition: opacity .4s ease-in-out;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
    column-break-inside: avoid;
    display: inline-block;
    background-color: #e8e8e8;
}

#columns:hover .card:not(:hover)
{
    opacity: 0.4;
}

#card1
{
    width: 320px;
    height: 200px;
}

#card2 …
Run Code Online (Sandbox Code Playgroud)

html css html5 css3

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

如何配置 WireMock 以使用 https(和随机端口)?

我尝试将wiremock设置为在随机端口上运行https:

@Rule
public WireMockRule wireMockServer = new WireMockRule(
    WireMockConfiguration.wireMockConfig().dynamicPort().dynamicHttpsPort()
);
Run Code Online (Sandbox Code Playgroud)

但是当我使用这个并打电话时,wireMockServer.httpsPort()我得到了异常:

java.lang.IllegalStateException: Not listening on HTTPS port. Either HTTPS is not enabled or the WireMock server is stopped.
    at com.google.common.base.Preconditions.checkState(Preconditions.java:150)
    at com.github.tomakehurst.wiremock.WireMockServer.httpsPort(WireMockServer.java:184)
Run Code Online (Sandbox Code Playgroud)

如何设置 WireMock 使用 https?

注意:我使用的是 2.14.0 版本

java junit wiremock

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

如何测试自定义 Spring Boot Actuator 端点?

我有一个弹簧启动执行器,但 WebMvc 测试不起作用。它返回一个空的主体。我将如何测试这个?

@Configuration
@ManagementContextConfiguration
public class TestController extends AbstractMvcEndpoint
{
    public TestController()
    {
        super( "/test", false, true );
    }

    @GetMapping( value = "/get", produces = MediaType.APPLICATION_JSON_VALUE )
    @ResponseBody
    public OkResponse getInfo() throws Exception
    {
        return new OkResponse( 200, "ok" );
    }

    @JsonPropertyOrder( { "status", "message" } )
    public static class OkResponse
    {
        @JsonProperty
        private Integer status;

        @JsonProperty
        private String message;

        public OkResponse(Integer status, String message)
        {
            this.status = status;
            this.message = message;
        }

        public Integer getStatus()
        {
            return status; …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc spring-boot spring-boot-actuator

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