有没有办法在Visual Studio代码中更改环境字体大小?智能感知框,调试面板,文件名等等.
我知道如何更改编辑器的字体大小,但我找不到如何更改环境字体大小,所以我想知道你是否可以以某种方式更改它
在web api 2中,我们习惯于使用字符串内容来获取响应:
var response = Request.CreateResponse(HttpStatusCode.Ok);
response.Content = new StringContent("<my json result>", Encoding.UTF8, "application/json");
Run Code Online (Sandbox Code Playgroud)
如何在不使用像ObjectResult这样的内置类的情况下在ASP.NET 5/MVC 6中实现相同的功能?
我真的很沮丧这个问题.我已经尝试更改版本号,但测试资源管理器中没有显示任何测试.
在测试输出窗口中,我可以看到此输出
Starting Microsoft.Framework.TestHost [C:\Users\sul\.dnx\runtimes\dnx-clr-win-x86.1.0.0-beta4\bin\dnx.exe --appbase "path to test project" Microsoft.Framework.ApplicationHost --port 63938 Microsoft.Framework.TestHost --port 63954 list ]
Unable to start Microsoft.Framework.TestHost
========== Discover test finished: 0 found (0:00:36.5471185) ==========
Run Code Online (Sandbox Code Playgroud)
这是如此脆弱,有时测试显示然后他们消失了.重启VS没有帮助,重新安装xunit/xunit运行器也没有帮助.
在另一个测试项目中,我得到了不同的输出,但仍未显示测试
Starting Microsoft.Framework.TestHost [C:\Users\sul\.dnx\runtimes\dnx-clr-win-x86.1.0.0-beta4\bin\dnx.exe --appbase "path to project" Microsoft.Framework.ApplicationHost --port 63938 Microsoft.Framework.TestHost --port 64421 list ]
Connected to Microsoft.Framework.TestHost
Discovering tests in 'path to project\project.json'
========== Discover test finished: 0 found (0:00:35.9341416) ==========
Run Code Online (Sandbox Code Playgroud)
这是我的project.json的一部分
"commands": {
"test": "xunit.runner.dnx"
},
"dependencies": {
"Microsoft.AspNet.Http": "1.0.0-*",
"Microsoft.AspNet.Http.Core": "1.0.0-*",
"Microsoft.AspNet.TestHost": "1.0.0-*",
"Moq": "4.2.1502.911", …
Run Code Online (Sandbox Code Playgroud) 假设我在中间件的http上下文中设置了一个值.例如HttpContext.User.
如何在单元测试中测试http上下文.这是我想要做的一个例子
中间件
public class MyAuthMiddleware
{
private readonly RequestDelegate _next;
public MyAuthMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
context.User = SetUser();
await next(context);
}
}
Run Code Online (Sandbox Code Playgroud)
测试
[Fact]
public async Task UserShouldBeAuthenticated()
{
var server = TestServer.Create((app) =>
{
app.UseMiddleware<MyAuthMiddleware>();
});
using(server)
{
var response = await server.CreateClient().GetAsync("/");
// After calling the middleware I want to assert that
// the user in the HttpContext was set correctly
// but how can I access the …
Run Code Online (Sandbox Code Playgroud) 将此与Visual Studio Code进行比较您需要做的就是允许源映射,VSCode将调试TypeScript,但是我无法在WebStorm上实现相同的功能.
我可以在WebStorm中轻松调试服务器端JavaScript,但不能调试TypeScript
我创建了一个OWIN中间件来捕获异常.中间件什么也没做,但是像这样用try catch包装下一个调用
try {
await _next(environment)
}
catch(Exception exception){
// handle exception
}
Run Code Online (Sandbox Code Playgroud)
问题是middlware没有捕获异常,因为异常是由IExceptionHandler的默认实现处理的,它返回带有堆栈跟踪的xml.
我知道我可以用我自己的实现替换默认的IExceptionHandler实现,但我想要的是OWIN中间件采取控制,这个默认的异常处理程序被忽略或替换为OWIN中间件
更新:
我已经将下面的答案标记为答案,虽然它更像是一个黑客,但我真的相信没有黑客可以实现这一点,因为WebApi异常永远不会被OWIN中间件捕获,因为Web API处理它自己的异常而OWIN中间件处理在中间件中引发但未被这些中间件处理/捕获的异常
在Visual Studio 2015中,您在项目属性中设置以下变量:ASPNET_ENV.如果将其设置为开发,则可以使用:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseErrorPage();
}
}
Run Code Online (Sandbox Code Playgroud)
IsDevelopment方法将检查ASPNET_ENV环境变量.现在,当您使用Visual Studio 2015时,这一切都很好.当您在生产服务器上将Web应用程序发布到IIS时,如何设置ASPNET_ENV的值?
我的服务器是Windows Server 2012
捆绑功能从MVC 6中排除,建议的方法是使用gulp任务进行捆绑.
使用捆绑,我们习惯在包含的css/javascript文件url(s)的末尾获取一个随机字符串.这个字符串非常重要,因为一旦你改变了css/javascript中的任何内容,就会生成一个新的字符串,这会强制浏览器加载文件的新版本.
所以,如果你有3个css文件,它们将捆绑成一个,它们看起来像这样:
<link href="/Style/css?v=sGJNctjkEuiEEdR68fh0dDt7bwrHIbu_EfQtgon7oYc1" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)
我们如何在MVC 6中实现相同的功能?我不知道gulp是否能在这里提供帮助,但我已经在使用gulp进行缩小和捆绑.
bundling-and-minification gulp asp.net-core-mvc asp.net-bundling
我是这个领域的新手,但我试图使用JWT nuget包生成JWT .
我的理解是你提供了一个密钥来签署令牌,但是当我拿到令牌时,我去了JWT网站测试它,网站能够解码它,而我没有提供密钥.
我认为您生成令牌然后您签名,从而阻止任何人知道令牌的内容,除非他们有该密钥.这不是这种情况吗?
c# ×2
.net-core ×1
asp.net ×1
asp.net-core ×1
debugging ×1
dnx ×1
gulp ×1
httpcontext ×1
httpresponse ×1
jwt ×1
middleware ×1
owin ×1
server-side ×1
typescript ×1
unit-testing ×1
webstorm ×1
xunit ×1
xunit2 ×1