小编Mic*_*ick的帖子

响应式Highcharts在窗口调整大小之前没有正确调整大小

我在Zurb的Foundation框架中使用Highcharts进行课堂项目.我在章节标签中有三个图表.一个在12列div中,另外两个在6列div中的同一行.

当页面加载时,特色图表不占用12列的可用宽度,两个较小的图表溢出它们的6列.但是,当窗口调整大小或我尝试使用Inspect元素进行调查时,图表会立即捕捉到正确的尺寸.在Chrome,FF和IE中会出现此问题.

我意识到我可以设置一个特定的宽度,但我真的想利用基金会并让他们保持敏感.

我已经调整了CSS和Highcharts初始化,但我很难过.还有其他人遇到过这个问题吗?任何人都能看到我错过的东西吗?

这是我的HTML的摘录:

<div class="row">
<div class="twelve columns">
    <!--begin tabs below--> 
    <div class="section-container tabs" data-section="tabs">
      <section>
        <p class="title" data-section-title><a href="#">Heart Disease</a></p>
        <div class="content" data-section-content id="heart">

            <div class="row feature-chart">
                <div class="large-12 columns">
                    <div id="heartTimeline-container">
                    <div id="heartTimeline"></div>
                    </div>
                </div> <!--close 12 columns-->
            </div> <!--close row-->
            <div class="row small-charts">
                <div class="large-6 columns">
                    <div id="heartDemo"></div>
                </div>
                <!--close 6-->
                <div class="large-6 columns">
                    <div id="heartStages"></div>
                </div>
                <!--close 6-->
            </div>
            <!--end row-->
        </div>
      </section>
   </div>
   </div>
   <!--end twelve columns-->
Run Code Online (Sandbox Code Playgroud)

这是Highcharts js:

$(function () {
    Highcharts.setOptions({ …
Run Code Online (Sandbox Code Playgroud)

javascript css dynamic-resizing highcharts zurb-foundation

50
推荐指数
4
解决办法
6万
查看次数

Owin auth - 如何获取请求身份验证令牌的客户端的IP地址

使用Owin Security,我试图让API有2种身份验证方法.

context变量(OAuthGrantResourceOwnerCredentialsContext)中是否有一个属性可以让我访问客户端IP地址,向API发送auth令牌的初始请求?

我的auth方法的基本条带如下所示:

public override async Task GrantResourceOwnerCredentials(
    OAuthGrantResourceOwnerCredentialsContext context)
{
    await Task.Run(() =>
    {
        var remoteIpAddresss = context.Request.RemoteIpAddress;
        var localIpAddress = context.Request.LocalIpAddress;


        // ... authenticate process goes here (AddClaim, etc.)
    }
}
Run Code Online (Sandbox Code Playgroud)

根据我的理解remoteIpAddresslocalIpAddressAPI(即API的托管位置).我如何知道请求从哪个IP地址(和端口)发送?

客户是否需要自己发送此信息?

我应该在auth路径中添加额外的参数吗?(除了典型username,password,grant_type)?

.net c# authentication owin

13
推荐指数
1
解决办法
8599
查看次数

JSON.NET将DateTime.MinValue序列化为null

我希望DateTimeDateTime.MinValue我的Web API返回的字段序列化为NULL而不是"0001-01-01T00:00:00".

我知道有一种方法可以让JSON.NET省略设置为默认值的字段,但我更喜欢JSON.NET来专门序列化DateTime MinValue / "0001-01-01T00:00:00" as null.

有没有办法做到这一点?

.net c# json.net asp.net-web-api

10
推荐指数
2
解决办法
6676
查看次数

PowerShell 脚本错误:字符串缺少终止符:

非常简单的powershell脚本...

#Server side storage copy

$SourceStorageAccount = "myStorageAccount"
$SourceStorageKey = "myKey"

$SourceStorageContext = New-AzureStorageContext –StorageAccountName $SourceStorageAccount -StorageAccountKey $SourceStorageKey
Run Code Online (Sandbox Code Playgroud)

因错误而失败

在 E:\DeploymentScripts\Storage\Test.ps1:6 char:51 + ... geContext –StorageAccountName $SourceStorageAccount -StorageAccount ... + ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 字符串缺少终止符:". + CategoryInfo : ParserError: (:) [], ParseException +fullyQualifiedErrorId : TerminatorExpectedAtEndOfString

最奇怪的是,如果我将 ps1 文件的内容复制并粘贴到 PowerShell 命令行中,它可以正常工作!?这是怎么回事?

显然我已经删除了我的存储容器名称和密钥,您需要分配自己的 Azure 存储帐户名称和 api 密钥来复制它。

编辑:在 Notepad++ 中编辑的脚本的屏幕截图,所有字符都可见......

在 Notepad++ 中编辑的脚本的屏幕截图,所有字符都可见

powershell azure azure-storage azure-storage-blobs azure-powershell

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

Linq和Async Lambdas

以下代码......

using System;
using System.Linq;
using System.Threading.Tasks;

namespace ConsoleAsync
{
    class Program
    {
        static void Main(string[] args)
        {
            MainAsync(args).Wait();
            Console.ReadLine();
        }

        static async Task MainAsync(string[] args)
        {
            int[] test = new[] { 1, 2, 3, 4, 5 };

            if (test.Any(async i => await TestIt(i)))
                Console.WriteLine("Contains numbers > 3");
            else
                Console.WriteLine("Contains numbers <= 3");
        }

        public static async Task<bool> TestIt(int i)
        {
            return await Task.FromResult(i > 3);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

给你以下错误: -

CS4010:无法将异步lambda表达式转换为委托类型'Func <int,bool>'.异步lambda表达式可能返回void,Task或Task <T>,其中任何一个都不能转换为'Func <int,bool>'.

在线上

if (test.Any(async i => …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda asynchronous

6
推荐指数
3
解决办法
6366
查看次数

在Azure存储中编辑MS Word文档的选项

该问题是先前未解决的问题的继续。

我在Azure Web应用程序中要求编辑文档,而不是:

  1. 下载文件
  2. 在MS Office Word中打开下载的文件
  3. 在本地编辑和保存
  4. 单击Web表单上的按钮
  5. 浏览到编辑的文件,然后单击“确定”将其上传

客户希望获得与您在Sharepoint中获得的体验相似的体验,即

  1. 单击指向Word文档的链接
  2. MS Office Word在客户端上启动
  3. 他们编辑并保存(在线)文档

我发现的一种解决方案是...

将文档存储在Azure文件共享中。创建一个登录脚本,该脚本将在每个Windows客户端访问权限上运行,以设置Azure文件共享的用户名和密码。

cmdkey /add:<storage_account>.file.core.windows.net /user:AZURE\<storage_account> /pass:<storage_account_key>
Run Code Online (Sandbox Code Playgroud)

使用html中的链接,例如...

<a href='file://///<storage_account>.file.core.windows.net/<storage_container>/test.docx'>Test.doc</a>
Run Code Online (Sandbox Code Playgroud)

这有很多问题。

  1. 这不是跨浏览器解决方案。尽管此链接将导致MS Office Word启动并在Firefox和Internet Explorer中成功加载文档,但它在Chrome(下载文件)和Edge(根本不处理文件)中不起作用。
  2. 它本质上是不安全的,需要将一组凭据分发给需要访问系统的所有客户端。

谁能建议替代解决方案?

ms-word ms-office azure file-storage azure-storage

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

C#程序集绑定重定向-Newtonsoft.Json

我有以下依赖

项目A(由我拥有)使用

  1. project_b.dll
  2. Newtonsoft.Json.dll(版本8)

项目B的用途

  1. project_c.dll
  2. Newtonsoft.Json.dll(版本9)

项目C的用途

  1. Newtonsoft.Json.dll(版本4.5)

项目A调用项目B的方法,该方法将调用项目C的方法,然后将值返回给B,然后返回A

<dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-655535.0.0.0" newVersion="XX" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

我试图在项目A上使用程序集绑定重定向。如果我将“ newVersion”设置为9.0,则代码会抱怨(缺少Newtonsoft.jSon.dll 4.5库)。如果我将“ newVersion”设置为4.5,则会发生相同的情况,然后会丢失Newtonsoft.Json.dll 9.0库错误。我也尝试了8.0的“ newVersion”值。看起来很简单,我认为重定向应该可以解决问题。有什么好的解决方案?项目A,项目B和项目C是否应具有相同版本的Newtonsoft.Json.dll?

提前致谢..

c# dll app-config .net-assembly

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

Async partial void MyPartialMethod()危险吗?

我已经看到很多关于编写代码的警告,例如...

public async void MyDangerousMethodWhichCouldCrashMyApp...
Run Code Online (Sandbox Code Playgroud)

我已经读过它与Eventhandlers的确定,因为它们必须返回void.但是,部分方法也必须返回void.您可以拥有以下代码......

static void Main(string[] args)
{
    MainAsync().Wait();
    Console.ReadLine();
}

async static Task MainAsync()
{
    MyCodeGeneratedClass c = new MyCodeGeneratedClass();
    try
    {
        await c.MyCodeGeneratedMethod();
    }
    catch(Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
}

public partial class MyCodeGeneratedClass
{
    public async Task MyCodeGeneratedMethod()
    {
        HttpClient client = new HttpClient();
        Console.WriteLine(await client.GetStringAsync("http://msdn.microsoft.com"));
        MyCustomCode();
    }

    partial void MyCustomCode();
}
Run Code Online (Sandbox Code Playgroud)

然后实现为......

partial class MyCodeGeneratedClass
{
    async partial void MyCustomCode()
    {
        HttpClient client = new HttpClient();
        Console.WriteLine(await client.GetStringAsync("http://msdn.microsoft.com"));
        throw new Exception("Boom"); …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous async-await

4
推荐指数
1
解决办法
952
查看次数

来自 SELECT FROM WHERE X NOT IN Y 的意外结果

所以...

select COUNT(*) cnt from docDocument d 
inner join tblAttachment a on d.AttachmentID = a.ID
where
a.ContainerID = 1 
Run Code Online (Sandbox Code Playgroud)

返回 6673

select COUNT(*) from tblAttachment 
where 
ContainerID = 1 
Run Code Online (Sandbox Code Playgroud)

返回 10372

select COUNT(*) cnt from docDocument d 
right join tblAttachment a on d.AttachmentID = a.ID
where
a.ContainerID = 1 
AND
d.ID IS NULL
Run Code Online (Sandbox Code Playgroud)

返回 3699,这是有意义的 10372 - 6673 = 3699

SELECT COUNT(*) FROM
(
select ID from tblAttachment a
where 
a.ContainerID = 1
Except
(
    SELECT AttachmentId from docDocument 
) …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2016 azure-sql-database

3
推荐指数
1
解决办法
225
查看次数

跨度和二维数组

是否可以将新的System.Memory Span结构与二维数据数组一起使用?

double[,] testMulti = 
    {
        { 1, 2, 3, 4 },
        { 5, 6, 7, 8 },
        { 9, 9.5f, 10, 11 },
        { 12, 13, 14.3f, 15 }
    };

double[] testArray = { 1, 2, 3, 4 };
string testString = "Hellow world";

testMulti.AsSpan(); // Compile error
testArray.AsSpan();
testString.AsSpan();
Run Code Online (Sandbox Code Playgroud)

尽管testArray和testString具有AsSpan扩展名,但testMulti不存在此类扩展名。

Span的设计是否仅限于处理一维数据数组?
我还没有找到使用Span处理testMulti数组的明显方法。

.net c# arrays multidimensional-array system.memory

3
推荐指数
2
解决办法
669
查看次数

Visual Studio Task Runner Explorer - ReferenceError:未定义原始值

所以我已经升级到 Visual Studio 16.6.3。当我转到 Task Runner Explorer 时,它不会加载我的 gulp 文件,在 Task Runner 输出窗口中,我可以看到...

Failed to run "E:\Projects\...\Gulpfile.js"...
cmd.exe /c gulp --tasks-simple
fs.js:35
} = primordials;
    ^
ReferenceError: primordials is not defined
    at fs.js:35:5
    at req_ (E:\Projects\...\node_modules\natives\index.js:143:24)
    at Object.req [as require] (E:\Projects\...\node_modules\natives\index.js:55:10)
    at Object.<anonymous> (E:\Projects\...\node_modules\graceful-fs\fs.js:1:37)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14)
    at Module.require (internal/modules/cjs/loader.js:1044:19)
    at require (internal/modules/cjs/helpers.js:77:18)
Run Code Online (Sandbox Code Playgroud)

然后我用谷歌搜索发现这是由于节点 12 和 gulp 3 之间不兼容,建议升级到版本 4。所以我更新了我的 package.json 文件并从“gulp”:“3.9.1”更改为“gulp”: “4.0.2”。当我转到任务资源管理器时,我在 Task Runner 输出窗口中看到以下内容...

Failed to run …
Run Code Online (Sandbox Code Playgroud)

visual-studio npm gulp visual-studio-2019

3
推荐指数
2
解决办法
1682
查看次数

在node.js中过滤post请求的主体

有没有办法在node.js + express中简化这段代码?

// Backend handler to register a new participant

app.post('/api/participant', function (req, res, next) {
    // I'm catching the registration form from the request
    var data = req.body;

    // I want to make sure the user is not uploading data other
    // than the fields in the form
    var participant = new Participant({
        first: data.first,
        last: data.last,
        email: data.email,
        category: data.category
    });
    participant.save(...);
});
Run Code Online (Sandbox Code Playgroud)

我没有这样做:

    var participant = new Participant(data);
Run Code Online (Sandbox Code Playgroud)

因为任何人都可以score在数据对象中包含(例如)属性并以优势开始竞争.

所以我的问题是:我是否必须在每个帖子处理程序中执行此操作,或者是否有过滤属性的方法?

javascript security api node.js express

2
推荐指数
1
解决办法
1198
查看次数