小编kle*_*ium的帖子

设置 Blazor Webassemble 环境的正确方法是什么?

我的目标是能够从配置文件更改环境名称。如果服务器配置为X,那么客户端也应该使用X环境。

你知道,在 ASP.NET 中我们可以使用launchSettings.json将 IIS 服务器配置为开发,并将“真实”服务器配置为发布到生产。WASM 客户端应该看到相同的配置。我想只在这里配置一下环境,以减少发布服务器时忘记东西的后果。

有多篇文章描述了 Blazor 环境,但我对正确设置它感到困惑。

为了让客户端看到环境,我将这一行添加到 Client/Program.cs 文件中:

Console.WriteLine("Using environment " + builder.HostEnvironment.Environment);
Run Code Online (Sandbox Code Playgroud)

实验:

  • 如果我将 Server/launchSettings.json/profiles/IIS Express/environmentVariables/ASPNETCORE_ENVIRONMENT 从开发更改为生产,则该网站根本无法加载(返回 404)。

  • 在其他一些情况下,ASPNETCORE_ENVIRONMENT客户端只是忽略/无法访问。

  • 在本地运行应用程序时,环境默认为开发。发布应用程序时,环境默认为“生产”。

    对我来说有时确实如此,但并非总是如此。在某些情况下,即使我在本地运行,环境也是生产环境。

  • Blazor.start({ environment: "Staging" });本文中描述的没有效果。另外,这需要一个字符串,我如何传递服务器端配置变量的值?

  • 使用 web.config,我总是可以覆盖环境名称。有两个问题:

    1. 为什么要维护另一个配置文件?已经有 launchSettings.json,服务器将依赖于该文件。据我所知,我无法引用 web.config 文件中的其他设置。
    2. 它实际上不是blazor-environment控制环境名称的标头。为什么?
      • 删除 web.config

      • 在 Server/Startup.cs 中添加:

        app.Use(async (context, next) =>
        {
            context.Response.Headers.Add("blazor-environment", env.EnvironmentName);
            await next.Invoke();
        });
        
        Run Code Online (Sandbox Code Playgroud)
      • 在Chrome DevTools中,我可以看到标头的值确实是Development。但客户打印的是 Production。

      • 如果标头被忽略,为什么我要在 web.config 中设置它?它已设置,但 clinet WASM 项目无法读取标头,它怎么知道该名称?引用的 Blazor WASM JavaScript 文件是否已更改,环境名称是否被编译到其中?

  • 还有生成的Client/launchSettings.json,似乎完全被忽略了。

  • 至少描述了 10 种获取环境名称的方法。有些使用 appsettings.json (单独下载,或 …

c# environment asp.net-core blazor-webassembly

11
推荐指数
2
解决办法
4672
查看次数

Previev图片:Blob还是FileReader?

我需要在将选择的图像发送到服务器之前显示它.我需要图像的宽度和高度.

BlobVS FileReader.我已经做了一些研究,但我想确保没有错过任何重要的东西,我用最好的方法.

Blob对象表示不可变的原始数据的类文件对象.Blob表示不一定采用JavaScript本机格式的数据.File接口基于Blob,继承blob功能并将其扩展为支持用户系统上的文件.

FileReader对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用File或Blob对象指定要读取的文件或数据.

console.time("blob");
var img = new Image;
img.onload = function()
{
    $("img").attr("src", this.src);
    console.timeEnd("blob");
    doSomething(this.width, this.height);
    window.URL.revokeObjectURL(img.src);
}
img.src = window.URL.createObjectURL(file);


console.time("filereader");
var reader = new FileReader();
reader.onload = function(e)
{
    var img = new Image;
    img.src = e.target.result;
    img.onload = function()
    {
        $("img").attr("src", this.src);
        console.timeEnd("filereader");
        doSomething(this.width, this.height);
    }
    reader.readAsDataURL(file);
}
Run Code Online (Sandbox Code Playgroud)

结果(测试图像为14850x8000,6.41 MB):

            Firefox 39  Chrome 44   Opera 30    Internet Explorer 11
Blob        249ms       47ms        65ms        81ms
FileReader  2517ms      3693ms      2191ms      2679ms
Run Code Online (Sandbox Code Playgroud)
  • 两者都异步加载图像.
  • 两者都杀了浏览器几秒钟(Web …

javascript blob file-upload image filereader

6
推荐指数
0
解决办法
966
查看次数

为什么JavaScript会在我设定的日期前一天给我看?

我正在尝试根据我的一些json数据查看日期.

我的代码是:

var date = new Date(json.events[i].event.first_date);
alert(date);
Run Code Online (Sandbox Code Playgroud)

现在,json.events[i].event.first_date它只返回格式为的日期yyyy-mm-dd.

我注意到,但是当我这样做时alert(date);,我会在实际数据显示的一天显示.

例如,json.events[0].event.first_date提供日期,2015-06-02但警报显示为2015年6月1日.

我从德国某处的网址获取我的json,而且我在美国.由于时区,日期会搞砸吗?

javascript timezone date

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

如何在CSS中选择最后一个div

我有这个html代码:

<div id="mydiv">
    [other divs]
    <div data-day="1">content</div>
    [other divs with data-day attribute]
    <div data-day="random">content</div>
    [other divs]
</div>
Run Code Online (Sandbox Code Playgroud)

我想选择mydiv中具有data-day属性的最后一个元素。我怎样才能做到这一点?

#mydiv div[data-day]:last-child
Run Code Online (Sandbox Code Playgroud)

我试过了,但是没有用。

css css-selectors

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

Python3中的整数溢出

我是Python的新手,我正在阅读这个页面,在那里我看到了一个奇怪的声明:

if n+1 == n:  # catch a value like 1e300
    raise OverflowError("n too large")
Run Code Online (Sandbox Code Playgroud)

x等于大于它的数字?!我感觉到了原力的干扰.

我知道在Python 3中,整数没有固定的字节长度.因此,没有整数溢出,就像C的int工作方式一样.但当然内存无法存储无限数据.

我认为这就是为什么结果n+1可能是相同的n:Python不能分配更多的内存来预先形成总和,所以它被跳过,并且n == n是真的.那是对的吗?

如果是这样,这可能导致程序的错误结果.为什么Python不能在操作不可能时引发错误,就像C++一样std::bad_alloc

即使n不是太大而且检查评估为假,result- 由于乘法 - 将需要更多的字节.可能result *= factor因同样的原因而失败?

我在官方Python文档中找到了它.这是检查大整数/可能整数"溢出"的正确方法吗?

python integer integer-overflow

4
推荐指数
3
解决办法
1935
查看次数

如何在统一Android中缓存图像?

我想统一为Android平台缓存图像。我使用WWW下载图像,但是每次都会重新下载它们。我在统一文档和网络中进行搜索,发现没有任何用处。任何帮助将不胜感激。

android caching unity-game-engine

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

获取cURL以遵循重定向

我在Laravel中有一个应用程序可以擦除网站并检索特定信息.最近我看到越来越多的网站获得403 forbiidden所以我决定第一次尝试cURL.

我现在唯一的问题是,有301或302重定向的网站,cURL不遵循它们.

这就是我所拥有的:

$curl = curl_init(); 
        curl_setopt($curl, CURLOPT_URL, $results['url_search']);  
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  
        curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);  
        curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');

        $str = curl_exec($curl);  

        $header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
        $header = curl_getinfo($curl, CURLINFO_HTTP_CODE);
        $body = substr($str, $header_size);

        curl_close($curl); 
Run Code Online (Sandbox Code Playgroud)

正如我所说,在有重定向的页面上,我被卡住了.有什么建议?我见过一些东西,但都没有.

php curl http-redirect

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

如何使用这些字符创建加法器函数?

我看到了一个"谜题",你必须在C中编写一个返回值的函数a+c,但是,你不能使用+运算符.

unsigned f(unsigned a, unsigned c) {
    return <write your coe here>;
}
Run Code Online (Sandbox Code Playgroud)

您只能使用以下字符:harc()&|[]*/.

c math function

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

我该如何降低最低SDK版本?

我正在开发一个Anrdoid应用程序.它差不多完成了.我刚刚注意到它minSdkVersion被设置为21.也许我在创建项目时忘了它.我想降低它,因为应用程序的用户可能会使用较旧的设备.

我不认为将#minSdkVersion改为10,坐下来并希望将来能够编译并运行良好.

我的想法是,我可以检查项目中使用的所有方法,它们的最低API级别,所以我可以知道我必须用替代品替换.但是,该项目有点大.逐个搜索所有方法的文档会花费很多时间.

是否可以自动列出项目中使用的Android API特定方法及其API级别?或以某种方式检测使用的方法所需的最高API级别?Android Studio知道这些数字,它也可以获取文档.或者,可以安全地更改minSdkVersiontargetSdkVersion更低的API级别以了解旧设备中不支持哪些方法,并且在我修复IDE将向我显示的所有错误/警告后,我的应用程序运行良好吗?

android android-studio android-api-levels

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

Fabric.js - 在所选对象下移动对象

我的画布中有2个对象(图像).

fc.item(0)是画布中间较小的图像.fc.item(1)是一个大图像,"框架".用户无法移动它.当用户试图移动时fc.item(1),我想移动fc.item(0),就像用户的移动一样fc.item(1).

任何想法,我该怎么做?我试图使用fc.item(0).fire("object:moving"),但这并不好用.

javascript fabricjs

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

mktime返回不正确的值

我想mktime在微控制器上使用(或者至少使用32位宽的时间戳).我从avr libc源文件中添加了所需的文件(在Atmel Studio 7中,时间函数不可用),没有更改算法.但是对于2016. 06. 08. 23:34:00(UTC + 1,EU dst),mktime返回518736960,但它应该返回1465425240.

set_zone(ONE_HOUR);
set_dst(eu_dst);
struct tm myTime;
myTime.tm_sec = 0;
myTime.tm_min = 36;
myTime.tm_hour = 23;
myTime.tm_mday = 8;
myTime.tm_mon = 5;
myTime.tm_year = 116;
myTime.tm_isdst = ONE_HOUR;
time_t tim = mktime(&myTime);
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?这些功能应该可以正常工作

c time mktime

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

jQuery通过src属性查找元素

我有这个小画廊(代码只是示例):

<div id="gallery_imgs">
    <img src="http://fc01.deviantart.net/fs71/f/2014/112/0/9/nobody_believes_in_me_by_idjpanda-d7fkd7m.png" />
    <img src="http://fc09.deviantart.net/fs71/f/2014/112/5/6/feed_me_d__by_idjpanda-d7fgids.png" />
    <img src="http://fc02.deviantart.net/fs71/f/2014/104/e/5/blar_auction_by_idjpanda-d7ehmoc.png" />
</div>
<p></p>
Run Code Online (Sandbox Code Playgroud)

JS代码:

var that = $("#gallery_imgs img:eq(1)");
$("p").html($("#gallery_imgs img").find("[src='"+that.attr("src")+"']").length);
Run Code Online (Sandbox Code Playgroud)

这个返回0。为什么?这是错误,还是我做错了?

javascript jquery jquery-selectors

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