我无法弄清楚如何在本地主机上通过 http 和 https 访问一个简单的服务。到目前为止,这是我的设置,我使用的是 traefik V2.xxx。
我希望能够同时使用 https/http 协议访问此站点(仅出于开发机器的原因)。https 工作得很好,但 http 不行。我需要添加/删除/更改哪些标签?
http://whoami.localhost:8000/
https://whoami.localhost:8443/
docker-compose.yml
version: "3.7"
services:
whoami:
image: containous/whoami
labels:
- traefik.enable=true
- traefik.http.routers.whoami.rule=Host(`whoami.localhost`)
- traefik.http.routers.whoami.entrypoints=web,web-secure
- traefik.http.routers.whoami.tls=true
- traefik.protocol=http,https
reverse-proxy:
depends_on:
- whoami
image: traefik:v2.1.1
ports:
- 8000:80
- 8443:443
- 8001:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik:/etc/traefik:ro
Run Code Online (Sandbox Code Playgroud)
traefik/traefik.toml
[log]
level = "DEBUG"
[accessLog]
filePath = "/logs/access.log"
bufferingSize = 20
[docker]
exposedbydefault = false
[api]
dashboard = true
insecure = true
[providers]
[providers.file]
filename = "/etc/traefik/traefik.toml"
watch …Run Code Online (Sandbox Code Playgroud) 如何在不触发任何订阅的情况下设置 observable 属性?
我有一个场景是页面加载,一个ajax调用来获取一些数据,数据被循环,然后当前选择的项目被设置为一个可观察的。我希望能够在没有任何订阅的情况下设置这个 observable,因为第一次设置这个 observable 被认为是它的初始状态,并且订阅不应该在初始状态下执行。
function PlanViewModel() {
var self = this;
self.plans = ko.observableArray();
self.selectedItem = ko.observable();
self.getAllPlans = function () {
$.ajax({
url: "/Backoffice/Home/GetAllPlans",
type: "POST",
data: {},
context: this,
success: function (result) {
var planList = this.plans;
// clear the plan list
planList.removeAll();
$.each(result.plans, function () {
var planDetail = new PlanDetail(this, self);
if (this.IsSelected) {
self.selectedItem(planDetail); // how do I set this without the subscriptions firing?
}
planList.push(planDetail);
});
},
error: function (result) { …Run Code Online (Sandbox Code Playgroud) 使用 VS Professional 2015 w/Update 3 在新工作中使用新系统,并CS1998: This async method lacks 'await' operators and will run synchronously抛出实际构建错误而不是警告。在我的其他系统上,这只是一个构建警告,而不是错误。
在某处是否有 VS 选项可以将其更改回警告?
我写了一个lambda表达式,它产生了预期的结果,但是它生成了一个绝对庞大的sql查询,并且它的性能很差.请参阅最底层的io/time统计信息.
有没有其他方法来实现以下查询?
select distinct(searchterms) as SearchTerms, max(totalresults) FROM cmsSearchLog
where totalresults != 0 and searchterms like 'de%' group by searchterms
order by max(totalresults) desc
Run Code Online (Sandbox Code Playgroud)
c#代码片段:
// current lamda expression; has bad performance compared to above query
List<SearchTerm> existingSearchTerms1 = context.cmsSearchLogs.Where(oq =>
context.cmsSearchLogs.Where(q =>
q.SearchTerms.ToLower().Contains(terms.ToLower()) && q.TotalResults != 0)
.Select(s => s.SearchTerms)
.Distinct()
.Contains(oq.SearchTerms))
.Select(a => new { a.SearchTerms, a.TotalResults })
.GroupBy(gb => gb.SearchTerms)
.OrderByDescending(ob => ob.Max(m => m.TotalResults))
.Select(s => new SearchTerm()
{
SearchTerms = s.FirstOrDefault().SearchTerms,
TotalResults = s.FirstOrDefault().TotalResults
} …Run Code Online (Sandbox Code Playgroud) 我可以发誓我已经看过一个视频,显示如何使用单个值的键盘快捷键同时为左,右,底,顶部的元素设置填充但我无法找到它或记住如何.那么如何在属性窗口中一次为所有边设置元素的填充为"5"?
产生的xaml应该是:
Padding="5"
Run Code Online (Sandbox Code Playgroud) 是否可以使用makeStyles和动态生成规则名称props?
我没有看到任何方法可以props访问makeStyles. 我需要这样的东西:
import { makeStyles } from '@material-ui/core/styles';
const useStyles = makeStyles(theme => {
return props => {
let newObj = {
checked: {}
};
props.environments.forEach(a => {
newObj = {
...newObj,
...{
['rdo' + a.name]: {
color: a.color,
'&$checked': {
color: a.color
}
}
}
};
});
return newObj;
};
});
Run Code Online (Sandbox Code Playgroud)
结果会是这样的:
checked: {},
rdoQA: {
color: '#FF9800',
'&$checked': {
color: '#FF9800'
}
},
rdoLive: {
color: '#c62828',
'&$checked': { …Run Code Online (Sandbox Code Playgroud) c# ×2
docker ×1
javascript ×1
jss ×1
knockout.js ×1
lambda ×1
linq ×1
material-ui ×1
reactjs ×1
sql ×1
traefik ×1