我正在使用ChartJS来渲染从CSV解析的一些数据.CSV解析正常 - 我可以使用控制台日志和其他方法验证这一点.然后我生成数组以编程方式提供ChartJS.这个数组在控制台中对我来说也很好看,但显然它不起作用,因为ChartJS给了我这个错误:
Uncaught TypeError: Cannot read property 'call' of undefined
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js" type="text/javascript"></script>
<script src="https://localspace/js/papaparse.js" type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.js" type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/randomcolor/0.3.1/randomColor.min.js" type="text/javascript"></script>
<script type="text/javascript">
var doughnutChartData = [];
Chart.defaults.global = {
responsive: false
// animation: true
}
$(document).ready(function(){
var parseResults;
Papa.parse("localspace/csv/06/Referring-Domains.csv", {
download: true,
comments: "#",
// header: true,
complete: function(results) {
parseResults = results.data;
console.log(parseResults);
for(i=0;i<parseResults.length;i++){
if(i!=0&&i<6){
$( "#referringDomainsTable tbody" ).append( "<tr><td>"+parseResults[i][1]+"</td><td>"+parseResults[i][2]+"</td><td>"+parseResults[i][3]+"</td></tr>" );
doughnutChartData.push({
value: parseResults[i][3].slice(0,-1),
color: randomColor(),
label: parseResults[i][1]
});
}
}
console.log(doughnutChartData);
setTimeout(function(){
// Get …Run Code Online (Sandbox Code Playgroud) 我正在使用AspNetCore.SignalR,并且需要有关如何通过集线器访问SQL Server数据库的建议。有关此的资源不多。我知道如何添加一个单例,但以后不知道如何访问它。如何访问使用集线器任务内Startup.cs中的Configuration.GetConnectionString定义的数据库上下文?
谢谢。
以下是相关代码:
启动文件
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
DbContextOptionsBuilder<PlayerContext> PlayerContextOptions = new DbContextOptionsBuilder<PlayerContext>();
PlayerContextOptions.UseSqlServer(Configuration.GetConnectionString("Default"));
services.AddSingleton(PlayerContextOptions.Options);
services.AddDbContext<PlayerContext>(options => options.UseSqlServer(Configuration.GetConnectionString("Default")));
services.AddCors(options => options.AddPolicy("CorsPolicy",
builder =>
{
builder.AllowAnyMethod().AllowAnyHeader()
.AllowCredentials();
}));
services.AddSignalR();
}
Run Code Online (Sandbox Code Playgroud)
但是我根本不知道该在Hub文件中做什么。我什至不知道从哪里开始。我添加了单例,但是我不知道如何在我的中心文件中访问它。这是我想做的,但是我愿意做一个更好的方法:
MyHub.cs
using (PlayerContext dbContext = new PlayerContext(/* Singleton needs to go here */))
{
// do database stuff
}
Run Code Online (Sandbox Code Playgroud)