我希望确保我的网站能够在将来托管在云上,并且它可以处理大量请求.
静态变量的安全性如何?
它们是不安全的,因为不同用户的单独请求实际上是在共享这些静态变量吗?或者是因为如果您通过线程/分片或类似方式扩展站点,(处理高负载)线程正在共享静态变量?
主要是我有辅助类,具有静态属性,我是否应该更改此体系结构,以便我创建每个类的实例并访问实例?
EG这是我正在做的一个例子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Mvc.Mailer;
namespace MVCWebsite.Helpers
{
public class AppSettings
{
public static void OnAppInit()
{
//General
AppName = "MyApp";
DesktopBaseURLs = new Dictionary<string, string>();
DesktopBaseURLs.Add("dev", "localhost:50560");
DesktopBaseURLs.Add("test", "www.test.whatever.com");
DesktopBaseURLs.Add("live", "www.whatever.com");
MobileBaseURLs = new Dictionary<string, string>();
MobileBaseURLs.Add("dev", "m.local.whatever.com");
MobileBaseURLs.Add("test", "m.test.whatever.com");
MobileBaseURLs.Add("live", "m.whatever.com");
//Emails
EmailHostName = AppName + ".com"; //For the moment atleast
NoReplyEmailAddress = "no-reply@" + EmailHostName.ToLower();
SupportEmailAddress = "support@" + EmailHostName.ToLower();
ErrorEmailAddress = "errors@" + EmailHostName.ToLower();
//Resources
TempFileURL …Run Code Online (Sandbox Code Playgroud) 我有几个模态,2个完美地工作,1在关闭时获得此异常.(它确实设法关闭模态,但angular注销了这个例外).
我看得更近了,在$modalInstance方法中定义close,但openedWindows.get($modalInstance)返回undefined.
我怎样才能解决这个问题?
我有一个友好的URL系统,就像Stack Overflow一样.
这/car/123/blue-subaru-1993是一个链接.
但由于用户有能力更改列表的标题,它很快就会变成:
/car/123/awesome-blue-subaru-1993
Run Code Online (Sandbox Code Playgroud)
我担心(但不确定)如果谷歌重新索引我的网站,它现在会有两个链接指向相同的内容?或者谷歌完全重新索引并意识到之前的链接不再存在?
澄清:
该网站不使用 301 Moved Permanently
/car/123/title 使用路由配置文件映射到操作
我的小提琴在12月份回归0
var exploded = "2011-12-25".split('-');
var d = new Date(exploded[0], exploded[1], exploded[2]);
document.write("year"+d.getUTCFullYear()+ " month"+d.getUTCMonth()+" day"+d.getUTCDate());
Run Code Online (Sandbox Code Playgroud)
为什么是这样?
Q1.在我的应用程序开始时我是否必须这样做?或者我可以在我的应用程序中的任何位置触发允许/不允许的提示吗?
Q2.有没有办法找出用户是否点击了是/否?(打回来?)
Q3.如果用户已经点击否,(在之前的会话中),我的提示是否会实际触发?或者我是否需要告诉用户转到他们的手机设置并在那里启用它?
原因是我有一个应用程序,里面有一个名为"通知"的部分,他们可以启用/禁用接收某些事情的通知,所以我只想提示他们启用等等,当他们在这部分而不是在应用程序的开始.
鉴于我有以下内容:
name: MyWorkFlow
on: push
env:
FOO: bar1
jobs:
myJob:
- run: export FOO=bar2
- run: echo $FOO
Run Code Online (Sandbox Code Playgroud)
输出是“bar1”。无论如何,我可以覆盖这些环境变量吗?
我的回调下面无法更新/访问我的$ scope变量(或者,由于某些原因,更改没有显示),我该如何实现?正在调用回调函数,但我认为这里的javascript范围显然不对.
function ReportsCtrl($scope) {
var self = this;
$scope.analyticsIsReady = false;
$scope.analyticsInitStatus = '';
//$scope.originCompositionChart = new Chart__('originCompositionChart', reportsClient.getOriginCompositionData, true, false);
$scope.originCompositionChart = new Chart__('originCompositionChart', null, true, false);
$scope.charts = new Array($scope.originCompositionChart);
$scope.showIncludedCharts = function () {
};
//todo not working
this.updateAnalyticsInitStatus = function (status) {
console.log('boom; ' + status);
$scope.analyticsInitStatus = status;
};
//todo not working
this.handleAnalyticsInitSuccess = function (status) {
$scope.analyticsInitStatus = 'Initialisation complete';
$scope.analyticsIsReady = true;
};
window.analyticsInitialiserClient = new AnalyticsInitialiserClient__(this.updateAnalyticsInitStatus, this.handleAnalyticsInitSuccess);
}
Run Code Online (Sandbox Code Playgroud) 我正在向跨源资源发出一个简单的CORS请求.我假设它是一个POST请求,带有参数,它将归类为简单的CORS请求,因此不需要预先调用飞行.但事实并非如此.
另外,不幸的是因为我使用的是.NET Web API,所以必须在Post请求中的查询字符串上传递任何简单的数据类型.
使用角$ http发布.
选项:
Request URL:http://api.local.foundation.com/account/LoginAutomatically?key=null
Request Method:OPTIONS
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:accept, content-type
Access-Control-Request-Method:POST
Cache-Control:no-cache
Connection:keep-alive
Host:api.local.foundation.com
Origin:http://www.local.foundation.com
Pragma:no-cache
Referer:http://www.local.foundation.com/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
Query String Parametersview sourceview URL encoded
key:null
Run Code Online (Sandbox Code Playgroud)
POST:
Request URL:http://api.local.foundation.com/account/LoginAutomatically?key=null
Request Method:POST
Status Code:200 OK
Request Headersview source
Accept:application/json, text/plain, */*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Content-Length:0
Content-Type:application/json;charset=utf-8
Host:api.local.foundation.com
Origin:http://www.local.foundation.com
Pragma:no-cache
Referer:http://www.local.foundation.com/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) …Run Code Online (Sandbox Code Playgroud) 我正在编译我的项目:
ng serve --aot --i18nFile=client/locale/messages.fr.xlf --i18nFormat=xlf --locale=fr
Run Code Online (Sandbox Code Playgroud)
如何在运行时访问区域设置ID?我想根据语言环境显示/隐藏元素.
PS.我确实意识到使用JIT编译我可以简单地这样做:
providers: [ { provide: LOCALE_ID, useValue: 'fr' } ]
Run Code Online (Sandbox Code Playgroud)
但我正在寻找AOT解决方案.我也不想根据主机名或类似的东西来推断语言环境.
我已经设置了一个window.onerror处理程序来捕获错误.它的目的?要在每次发生错误时连接一个字符串,然后另一个处理程序window.onunload将其发送到服务器.(据推测有所有错误).
问题是,它只能发送第一个错误,因为在onerror处理程序事件第一次触发后,错误没有被捕获,因此脚本终止...
有没有解决的办法?
ErrorManager: (function () {
function Init(message) {
InitErrorHandler();
InitAjaxHandler();
setTimeout("Interface.ErrorManager.SendErrorsToAjax()", 8000);
}
function InitErrorHandler() {
Data.ErrorHandlerText = "";
Data.ErrorHandlerCount = 0;
window.onerror = function(errorMessage, url, line) {
if(IsInIgnoreList(errorMessage)) { return; }
Data.ErrorHandlerText += ("Error: "+(Data.ErrorHandlerCount+1)+" <br /><br />");
//Get error specific info
Data.ErrorHandlerText += escape(errorMessage) + "<br />";
Data.ErrorHandlerText += escape(url) + "<br />";
Data.ErrorHandlerText += escape(line) + "<br />";
Data.ErrorHandlerCount++;
console.log("BOOM"+errorMessage);
}
}
function InitAjaxHandler() {
window.onbeforeunload = function() { …Run Code Online (Sandbox Code Playgroud) angularjs ×3
javascript ×3
jquery ×2
angular ×1
angular-ui ×1
asp.net ×1
asp.net-mvc ×1
cors ×1
html ×1
ios ×1
objective-c ×1
scope ×1
seo ×1
web-crawler ×1