我正在编写一个基本的应用程序来学习ASP.NET 5.我觉得很困惑的一个领域是配置.在ASP.NET 5之前,我可以执行以下操作:
var settingValue = ConfigurationManager.AppSettings["SomeKey"];
Run Code Online (Sandbox Code Playgroud)
我会在我的代码中散布各种代码.现在,在vNext世界中,我有一个如下所示的config.json文件:
config.json
{
"AppSettings": {
"SomeKey":"SomeValue"
}
}
Run Code Online (Sandbox Code Playgroud)
然后在Startup.cs中,我有以下内容: Startup.cs
public IConfiguration Configuration { get; set; }
public Startup(IHostingEnvironment environment)
{
Configuration = new Configuration()
.AddJsonFile("config.json");
}
Run Code Online (Sandbox Code Playgroud)
从那里,我完全难过.我在/src/Website/Code/Models/MyClass.cs中有MyClass.cs.
MyClass.cs
public class MyClass
{
public string DoSomething()
{
var result = string.Empty;
var keyValue = string.Empty; // TODO: What do I do here? How do I get the value of "AppSettings:SomeKey"?
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
如何获得"AppSettings:SomeKey"的值?
我正在玩Azure功能.但是,我觉得我很难接受一些非常简单的事情.我想弄清楚如何返回一些基本的JSON.我不确定如何创建一些JSON并将其恢复到我的请求.
曾几何时,我会创建一个对象,填充其属性并对其进行序列化.所以,我开始沿着这条路走下去:
#r "Newtonsoft.Json"
using System.Net;
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
log.Info($"Running Function");
try {
log.Info($"Function ran");
var myJSON = GetJson();
// I want myJSON to look like:
// {
// firstName:'John',
// lastName: 'Doe',
// orders: [
// { id:1, description:'...' },
// ...
// ]
// }
return ?;
} catch (Exception ex) {
// TODO: Return/log exception
return null;
}
}
public static ? GetJson()
{
var person = new Person(); …
Run Code Online (Sandbox Code Playgroud) 我正在使用Node中的Jasmine以编程方式测试一些代码.为此,我设置了以下内容:
function runTests() {
var Jasmine = require('jasmine');
var jasmine = new Jasmine();
jasmine.loadConfig({
spec_dir: 'unit-tests',
spec_files: [
'tests-*.js'
]
});
var blanket = require('blanket')();
var TerminalReporter = require('jasmine-terminal-reporter');
var reporter = new TerminalReporter({});
jasmine.addReporter(reporter);
jasmine.execute();
}
runTests();
Run Code Online (Sandbox Code Playgroud)
当这些测试运行时,我想获得代码覆盖的详细信息.在尝试这个时,我偶然发现了blanket.js.我的问题是,如何以编程方式输出代码覆盖率结果?使用上面的代码,我收到一个错误.错误只是说:
Error: Bad file instrument indicator. Must be a string, regex, function, or array.
Run Code Online (Sandbox Code Playgroud)
为什么?我究竟做错了什么?
更新
在我的package.son文件中,我有以下部分:
"config": {
"blanket": {
"data-cover-flags": {
"engineOnly":true
}
}
}
Run Code Online (Sandbox Code Playgroud)
我已将我的runTests
功能更新为如下所示:
function runTests() {
var Jasmine = require('jasmine');
var jasmine = …
Run Code Online (Sandbox Code Playgroud) 我有一个传统的ASP.NET应用程序,我想转移到ASP.NET 5(vNext).我这样做是为了学习练习.
我当前的应用使用基于表单的身份验证.但是,我想使用OAuth.我正在查看安全模块,很好奇应该用于OAuth.我看到的选项Microsoft.AspNet.Authentication.OAuth
和Microsoft.AspNet.Authentication.OAuthBearer
.
以下哪些用于让用户登录?
有没有人知道显示这些实际情况的样本/示例?
我正在用Jasmine写一些测试.我正在通过Gulp运行这些测试.我想使用Jasmine Ajax插件.但是,我无法弄清楚如何将它包含在我的测试中.现在,我有以下内容:
tests.js
describe('MyApp', function() {
beforeEach(function() {
jasmine.Ajax.install();
});
it('should run an ajax request', function() {
// test ajax
});
});
Run Code Online (Sandbox Code Playgroud)
再一次,我通过Gulp运行这个.所以,在我的gulpfile.js中,我有以下内容:
gulpfile.js
var gulp = require('gulp');
var jasmine = require('gulp-jasmine');
gulp.task('test', function() {
return gulp
.src('tests/*.js')
.pipe(jasmine());
});
Run Code Online (Sandbox Code Playgroud)
当我执行此操作时,我从命令行获得以下内容:
TypeError:无法读取未定义的属性"install".
它像Jasmine Ajax一样没有加载.但是,我不确定如何加载它.有人可以帮我解决这个问题吗?
谢谢.
我正在学习ASP.NET vNext.我需要在config.json文件中存储两个连接字符串.我该如何存储?我可以这样做:
config.json
{
"connectionStrings" : {
"connection-1" : "server=...",
"connection-2" : "server=..."
}
}
Run Code Online (Sandbox Code Playgroud)
我无法找到架构config.json
.出于这个原因,我不知道该怎么做.我看到了IConfiguration
这里的使用.不过,我还不确定Configuration
应用程序中有多少可用.
我在我的服务器上安装了TeamCity.我已成功下载源代码,并通过Visual Studio构建.日志说构建成功.但是,此时,构建的结果位于以下目录中:
C:\TeamCity\buildAgent\work\688d47a33b8989b6\site
Run Code Online (Sandbox Code Playgroud)
如何获取上面URL的内容并将它们复制到同一台机器上的目录中?例如,我想获取上面列出的目录的内容并将它们放入:
C:\WebSites\MySite
Run Code Online (Sandbox Code Playgroud)
如何在TeamCity中进行复制和粘贴,以便我有一个真正的持续集成周期?
谢谢
我有一个C#控制台应用程序.我的应用程序有一个名为Item的类.项目定义如下:
public class Item {
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想建立一个List<Item> items
; 在我看来,C#有一种在运行时定义列表的简便方法.就像是:
List<Item> items = new List()
.Add(new Item({ Id=1, Name="Ball", Description="Hello" })
.Add(new Item({ Id=2, Name="Hat", Description="Test" });
Run Code Online (Sandbox Code Playgroud)
现在我似乎无法找到像我提到的简短语法.我在做梦吗?或者是否有一种建立集合列表的简便方法?
谢谢!
我有两个JavaScript Date
对象.我需要在这两个Date
对象之间进行OData查询.我查询的信息有一个名为领域createDate
这是一个DateTimeOffset
.根据我的理解,我可以这样做:
entities?filter=((createDate ge [Date1]) and (createDate le [Date2]))
Run Code Online (Sandbox Code Playgroud)
我的问题是:
谢谢!
我有一个使用ASP.NET MVC构建的站点.我的视图模型中有一个字符串,如下所示:
ViewBag.Text = "{\"1\":{\"1\":\"John\",\"2\":\"Bill\",\"3\":\"Paul\"},\"3\":{}}";
Run Code Online (Sandbox Code Playgroud)
我想将此输出到我的视图中,如下所示:
<input id='myHiddenInput' type='hidden' value='@ViewBag.Text' />
Run Code Online (Sandbox Code Playgroud)
渲染视图时,隐藏元素如下所示:
<input id='myHiddenInput' type='hidden' value='{"1":{"1":"John","2":"Bill","3":"Paul"},"3":{}}' />
Run Code Online (Sandbox Code Playgroud)
如何更新视图以使输出如下所示:
<input id='myHiddenInput' type='hidden' value='{"1":{"1":"John";,"2":"Bill","3":"Paul"},"3":{}}' />
Run Code Online (Sandbox Code Playgroud)
我知道这似乎很傻.这真的是我需要做的事情.
我是ASP.NET MVC的新手.我继承了我正在尝试使用的代码库.我需要添加一些基本的HTML属性.目前,在我的.cshtml文件中,有一个这样的块:
@Html.DropDown(model => model.SomeValue, Model.SomeList)
Run Code Online (Sandbox Code Playgroud)
这引用了一个函数Extensions.cs
.此功能如下所示:
public static MvcHtmlString DropDown<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression, IEnumerable<string> items, string classes = "form-control")
{
var attributes = new Dictionary<string, object>();
attributes.Add("class", classes);
return System.Web.Mvc.Html.SelectExtensions.DropDownListFor(html, expression, itemList.Select(x => new SelectListItem() { Text = x.ToString(), Value = x.ToString() }), null, attributes);
}
Run Code Online (Sandbox Code Playgroud)
我现在有一个案例,我需要在某些情况下禁用下拉菜单.我需要评估Model.IsUnknown
(这是一个bool)的值来确定是否应该启用下拉列表.
我的问题是,如果需要,如何禁用下拉列表?此时,我不知道是否需要更新我的.cshtml或扩展方法.
感谢您提供的任何指导.
c# ×7
asp.net-core ×3
javascript ×3
asp.net ×2
asp.net-mvc ×2
razor ×2
.net ×1
.net-core ×1
ajax ×1
azure ×1
blanket.js ×1
gulp ×1
jasmine ×1
json ×1
oauth ×1
odata ×1
teamcity ×1