我刚刚遇到了asp.net核心中web.config转换的问题.
有两个文件:base web.config和web.prod-zone-a.config.我的目标是在发布项目时在web.prod-zone-a.config中使用转换.我在.csproj中有以下"prod-zone-a"配置设置:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'prod-zone-a|AnyCPU' ">
<IntermediateOutputPath>obj\Debug\netcoreapp1.1</IntermediateOutputPath>
<DebugSymbols>true</DebugSymbols>
<Optimize>false</Optimize>
<DefineConstants>TRACE;DEBUG;NETCOREAPP1_1</DefineConstants>
<Configuration>prod-zone-a</Configuration>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
web.prod-zone-a.config看起来像:
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore>
<environmentVariables xdt:Transform="Replace">
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="prod-zone-a" />
</environmentVariables>
</aspNetCore>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
我尝试通过两个命令运行发布:
dotnet msbuild /t:Publish /p:OutputPath=c:\delivery /p:Configuration=prod-zone-a
Run Code Online (Sandbox Code Playgroud)
和
dotnet publish --configuration prod-zone-a --output c:\delivery
Run Code Online (Sandbox Code Playgroud)
但是没有转换适用于输出上的web.config - 只是默认值.我是否会错过配置或命令执行中的某些内容?
是否可以从 postgres 函数返回多个不同类型的结果集?
就像是:
CREATE OR REPLACE FUNCTION getUserById()
RETURNS setof ???
AS
$$
BEGIN
return query select id, name /* and other columns */ from users where id = 1;
return query select id, phone_number from user_phones where user_id = 1
END
$$
LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
我不想使用连接,因为用户可以使用多个电话。避免使用游标也会很棒。在 MS SQL 中是可能的,我想在 postgres 中做同样的事情。
我正面临着IIS + Kestrel托管asp.net核心应用程序(web api)的问题.
有时响应延迟约为5秒.在这种情况下,Chrome显示"GET net :: ERR_CONNECTION_TIMED_OUT"(但Firefox等待响应)
它只发生在IIS上,如果我在Visual Studio Code中本地运行它可以正常工作(至少我没有发现任何"冻结").
服务器端的应用程序日志中有一些信息.对于成功的请求,它看起来像:
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 OPTIONS http://
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Request finished in 0.2813ms 204
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET http://
info: Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerMiddleware[2]
Successfully validated the token.
info: Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerMiddleware[3]
HttpContext.User merged via AutomaticAuthentication from authenticationScheme: Bearer.
info: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[1]
Authorization was successful for user: admin.
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
Executing action method <method-name> with arguments <args> - ModelState is Valid
info: Microsoft.AspNetCore.Mvc.Internal.ObjectResultExecutor[1]
Executing ObjectResult, writing value Microsoft.AspNetCore.Mvc.ControllerContext.
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[2]
Executed action …Run Code Online (Sandbox Code Playgroud) 我正在开发简单的 js 应用程序,但遇到了与 babel 或/和 webpack 相关的问题 - 无法编译类(静态)属性,抛出错误:
ERROR in ./components/comp1.js
Module parse failed: Unexpected token (2:18)
You may need an appropriate loader to handle this file type.
| export class Comp1 {
| static states = '123';
| }
Run Code Online (Sandbox Code Playgroud)
我用这个问题简化了文件,只有两个 - 入口点 index.js:
import { Comp1 } from './components/comp1'
export const components = {
Comp1
};
Run Code Online (Sandbox Code Playgroud)
组件看起来像:
export class Comp1 {
static states = {
first: 1,
second: 2
};
}
Run Code Online (Sandbox Code Playgroud)
最令人困惑的时刻是它在我的 OSX 机器上成功编译,但无法在 Win 10 PC 上运行。我不知道操作系统会如何影响……我在 …
有没有办法将配置对象传递给定义为属性指令的自定义指令?
我在Controller中有一个对象要发送到指令:
$scope.configObject = {
count: 5,
mode: 'fast',
getData: myService.getData // function of external service that avaliable in controller
}
Run Code Online (Sandbox Code Playgroud)
在我的视图中我声明了指令:
<div class='list-class' my-list='configObject'></div>
Run Code Online (Sandbox Code Playgroud)
指令看起来像:
return {
restrict: 'A',
link: function(scope, elem, attrs) {
var config = angular.fromJson(attrs.myList);
}
}
Run Code Online (Sandbox Code Playgroud)
我试图使用angular.getJson获取配置对象 - 但它不适用于函数(它可能只获得计数和模式)..getJson()获取配置的方法不正确吗?
另外(我猜它甚至不可能) - 有没有办法让配置对象避免访问
attrs.myList
Run Code Online (Sandbox Code Playgroud)
直?我的意思是如果我改变指令的初始化
.directive('myList', function() { ... }) to
.directive('myCustomList', function() { ... })
Run Code Online (Sandbox Code Playgroud)
我应该改变访问权限
attrs.myCustomList
Run Code Online (Sandbox Code Playgroud)
因为视图看起来像
<div class='list-class' my-custom-list='configObject'></div>
Run Code Online (Sandbox Code Playgroud) 我在使用 TypeScript 时遇到了以下问题:
有一个模块,它使用myApp.common.anotherFunc()来自“旧”js 代码的函数:
module myApp {
export module helpers {
export class baseHelper {
doWork() {
var m = myApp.common.anotherFunc();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
结果打字稿编译器显示错误“类型上不存在属性”。如何在不重写我的旧功能的情况下克服这个问题myApp.common?
如果重要的话,PS TS 版本是 2.0
我在当前项目中使用 TypeScript 和 Ramdajs。而且我刚刚意识到遗漏了一些打字,即没有打字innerJoin功能(@types/ramda 版本是 0.25.36,我现在的最新版本)。我尝试在项目中的单独文件中添加自定义定义:
declare namespace R {
interface Static {
innerJoin(): any;
}
}
Run Code Online (Sandbox Code Playgroud)
乃至:
declare let R: R.Static;
declare namespace R {
interface Static {
innerJoin(): any; /* here should be a specific signature */
}
}
export = R;
export as namespace R;
Run Code Online (Sandbox Code Playgroud)
但没有成功 - 打字稿标记R.innerJoin(/*...*/)为未知:
“静态”类型上不存在属性“innerJoin”
有人知道如何正确实施吗?我找到了一个解决方法:const R_innerJoin = (R as any).innerJoin
但我怀疑应该有使用 '.d.ts' 的更优雅的解决方案......
如果这很重要,PS ramda 版本是 0.25.0。
更新
我正在以这种方式使用 Ramda:
import * as R from 'ramda';
const …Run Code Online (Sandbox Code Playgroud) 我的表有三列:place_id,date,value。每个日期的每个地方都有价值,例如
place_id:1,日期:'2014-01-01',值:1
place_id:2,日期:'2014-01-01',值:2
place_id:1,日期:'2014-02-02',值: 3
place_id:1,日期:'2014-02-03',值:4
place_id:2,日期:'2014-02-15',值:5
我的目标是为每个月找到所有地方的最大值。在以上数据的上下文中,它应该看起来像(不管日期如何显示-年和月两列或“ yyyy-MM-01”一列):
日期:'2014-01-01',sum_of_max:3
日期:'2014-02-01',sum_of_max:9
如我所知,我必须使用group by两次-首先要获得月份和位置的最大值,其次要总结第一步中获得的最大值。但是,什么方法可以让我达到最佳性能呢?
PS如果有问题,我正在使用PostgreSql 9.2
我有Asp.NET Core Web API应用程序并试图实现授权但遇到了CORS问题 - 我的开发服务和ui主机在localhost的不同端口上.
在登录页面上,我获得令牌并重定向到下一页.此时,对服务的数据请求开始.但服务器响应的状态为204:没有预检请求的内容...虽然,预检响应返回Access-Control-Allow-Origin:*...
Startup.cs看起来像:
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddCors(options =>
{
options.AddPolicy("Policy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader() );
});
services.AddAuthorization();
services.AddMvc() // ...
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseCors("Policy");
app.UseMvc();
}
Run Code Online (Sandbox Code Playgroud)
我是否会错过服务器端的内容?(在客户端,angular的拦截器只添加带有令牌的Authorization头)
PS我在OSX上使用VS Code进行开发(尽管我认为这并不重要)
更新:
正如@tpeczek建议的那样,我将cors配置更改为:
options.AddPolicy("Policy",
builder => builder.WithOrigins("http://localhost:80", "http://localhost")
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials() );
Run Code Online (Sandbox Code Playgroud)
但无法摆脱错误
更新2:
我得到的错误是
XMLHttpRequest cannot load localhost:5000/api/<method-name>;. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'localhost'; is therefore not allowed access. The …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建我的第一个Electron应用程序.我决定使用以下工具/技术:
当地环境是OS X High Sierra.
问题是我甚至无法构建我的应用程序,并且在使用WebPack进行构建时遇到错误:" Module not found: Error: Can't resolve 'fs' in '<root>/node_modules/electron'"
我有以下配置:package.json:
"dependencies": {
"electron": "^1.7.11"
},
"devDependencies": {
"ts-loader": "^3.3.1",
"tslint": "^5.9.1",
"typescript": "^2.6.2",
"webpack": "^3.10.0"
}
Run Code Online (Sandbox Code Playgroud)
tsconfig.json:
{
"compileOnSave": false,
"compilerOptions": {
"allowJs": true,
"jsx": "react",
"moduleResolution": "node",
"noImplicitAny": true,
"outDir": "./dist/",
"sourceMap": true,
"target": "es2015"
}
}
Run Code Online (Sandbox Code Playgroud)
webpack.config.js:
const path = require('path');
module.exports = {
entry: './src/index.ts',
devtool: 'inline-source-map',
module: {
rules: [
{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: …Run Code Online (Sandbox Code Playgroud) 当我使用 BEM 时,我对简单的场景感到困惑。示例中有一个基本按钮:
.button {
// styles for button
}
Run Code Online (Sandbox Code Playgroud)
及其具有更具体样式的修饰符:
.button.button_run {
// additional styles for this type of button
// i.e. custom width and height
}
Run Code Online (Sandbox Code Playgroud)
有一刻我意识到我需要 的修饰符button_run,让我们将其命名为button_run_pressed:
.button_run_pressed {
// more styles, i.e. darker background color
}
Run Code Online (Sandbox Code Playgroud)
button_run_pressed问题是,按照 BEM 约定来命名最后一个元素是不正确的。但我需要仅向“运行”按钮添加“按下”样式,而不是通过编写类button_pressed和混合修饰符来为所有按钮添加“按下”样式button button_run button_pressed。
我应该如何重构我的代码以匹配 BEM 约定?
asp.net-core ×3
typescript ×3
webpack ×2
angularjs ×1
babel-loader ×1
babeljs ×1
bem ×1
cors ×1
css ×1
electron ×1
group-by ×1
iis ×1
iis-10 ×1
less ×1
plpgsql ×1
postgresql ×1
ramda.js ×1
sql ×1