小编msm*_*cic的帖子

没有配置身份验证处理程序来处理该方案:自动

我在以前工作的应用程序上使用RC更新了ASP.NET 5框架beta-8软件包.运行后,在启动过程中出现下一个错误:

InvalidOperationException:没有配置身份验证处理程序来处理该方案:自动Microsoft.AspNet.Http.Authentication.Internal.DefaultAuthenticationManager.d__12.MoveNext()

var defaultPolicy =
    new AuthorizationPolicyBuilder()
    .RequireAuthenticatedUser()
    .Build();

services.AddMvc(setup =>
{
    setup.Filters.Add(new AuthorizeFilter(defaultPolicy)); // Error occurs here
});
Run Code Online (Sandbox Code Playgroud)

如果有人有类似的问题,我会感谢您对可能出错的想法或解决方案.此异常的解释也表示赞赏.

Startup.cs

using Autofac;
using Autofac.Extensions.DependencyInjection;
using Microsoft.AspNet.Authorization;
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Hosting;
using Microsoft.AspNet.Http;
using Microsoft.AspNet.Mvc.Filters;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.PlatformAbstractions;
using SuperUserMVC.Configuration;
using SuperUserMVC.Extensions;
using SuperUserMVC.GlobalModules;
using System;

namespace SuperUserMVC
{
    public class Startup
    {
        public IConfigurationRoot Configuration { get; set; }

        // Entry point for the application.
        public static void Main(string[] args) => WebApplication.Run<Startup>(args);

        public Startup(IHostingEnvironment env, …
Run Code Online (Sandbox Code Playgroud)

.net asp.net asp.net-core-mvc asp.net-core

23
推荐指数
4
解决办法
3万
查看次数

递归与迭代(Fibonacci序列)

我有两种不同的方法,一种是使用迭代计算Fibonacci序列到第n个元素,另一种是使用递归方法做同样的事情.


程序示例如下所示:

import java.util.Scanner;

public class recursionVsIteration {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        //nth element input
        System.out.print("Enter the last element of Fibonacci sequence: ");
        int n = sc.nextInt();

        //Print out iteration method
        System.out.println("Fibonacci iteration:");
        long start = System.currentTimeMillis();
        System.out.printf("Fibonacci sequence(element at index %d) = %d \n", n, fibIteration(n));
        System.out.printf("Time: %d ms\n", System.currentTimeMillis() - start);

        //Print out recursive method
        System.out.println("Fibonacci recursion:");
        start = System.currentTimeMillis();
        System.out.printf("Fibonacci sequence(element at index %d) = %d \n", n, …
Run Code Online (Sandbox Code Playgroud)

java iteration recursion

22
推荐指数
3
解决办法
9万
查看次数

TypeError:需要glob模式字符串

我正在尝试编译sass,gulp-ruby-sass但我得到了TypeError: glob pattern string required.

这就是我的gulpfile.js样子:

var gulp = require('gulp'),
    sass = require('gulp-ruby-sass');

var paths = {
    sassSrcPath: ['Content/css/**/*.scss'],
    sassDestPath: ['build/css/'],
    sassImportsPath: ['Content/styleguide/']
};

// Styles Task
gulp.task('styles', function () {
    gulp.src(paths.sassSrcPath)
        .pipe(sass({
            style: 'compressed',
            loadPath: [paths.sassImportsPath]
        }))
        .pipe(gulp.dest(paths.sassDestPath));
});

// Watch Task
gulp.task('watch', function () {
    gulp.watch(paths.sassSrcPath, ['styles']);
});

gulp.task('default', ['styles', 'watch']);
Run Code Online (Sandbox Code Playgroud)

这是我的文件夹结构:

??? Content
?   ??? css
?   ?   ??? partials
?   ?   ?   ??_icons.scss
?   ?   ??? main.css.scss
? …
Run Code Online (Sandbox Code Playgroud)

gulp gulp-ruby-sass

9
推荐指数
1
解决办法
2万
查看次数

DbTransaction和DbContextTransaction之间的区别?

当使用方法创建EntityFramework查询包装时DbContextTransaction,dbContext.Database.BeginTransaction()我遇到以下错误:

在NMemory.Linq.QueryableEx.Update的NMemory.Tnss.Table 2.Update(IQueryable1查询,IUpdater 1 updater, Transaction transaction) at NMemory.Tables.Table2.NMemory.Tables.IBulkTable.Update(TableQuery 1 query, Expression1更新程序,事务处理)中的NMemory.Transactions.Transaction.EnsureTransaction (事务和事务,IDatabase数据库)1 queryable, ExpressionEffort.Internal.Common.DatabaseReflectionHelper.WrapperMethods.UpdateEntities [TEntity]中的[T](IQueryable 1 updater,Transaction transaction)(IQueryable 1 query, Expression1 updater,Transaction transaction)

我在Effort GitHub存储库上发现了一个类似错误的帖子(https://github.com/tamasflamich/effort/issues/29),其中使用方法DbTransaction创建了替代dbContext.Database.Connection.BeginTransaction()方法.我尝试使用DbTransaction而且它有效,但现在我想知道这两者之间的区别是什么?

c# entity-framework effort

7
推荐指数
1
解决办法
1344
查看次数

比较SQL中的两个变量

让我们说你有下一个代码:

DECLARE @A INT = 1,
        @B INT = NULL;

IF (@B != @A)
    SELECT 1;
ELSE IF (@B = @A)
    SELECT 2;
ELSE
    SELECT 3;
Run Code Online (Sandbox Code Playgroud)

正如你可以看到变量@A等于'1'肯定而变量@B肯定没有.我正在Microsoft SQL Server Management Studio 2014中执行该部分代码,结果我得到'3'.这意味着@A不一样@B,但它也没有什么不同@B.这怎么可能呢?我在这里错过了什么?

sql t-sql sql-server-2014

5
推荐指数
1
解决办法
1万
查看次数

GetCommandLineArgs没有返回我的预期

我最近开始通过本书学习C#,我来到这个例子,我试图打印从命令提示符传递的参数:

namespace SimpleCSharpApp
{
    class Program
    {
        static void Main()
        {
            string[] theArgs = Environment.GetCommandLineArgs();

            foreach(string arg in theArgs)
                Console.WriteLine("Arg: {0}", arg);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的命令提示符输入如下所示:

D:\ ...\SimpleCSharpApp\bin\Debug> SimpleCSharpApp.exe arg1 arg2

输出是这样的:

Arg:SimpleCSharpApp.exe

Arg:arg1

Arg:arg2

我认为它看起来像是:

Arg:arg1

Arg:arg2

我的问题是,为什么它将我的执行命令识别为字符串参数的成员?为了得到我预期的输出,我应该改变什么?

我可以将foreach循环更改为for循环,从第2个元素开始,如下所示:

namespace SimpleCSharpApp
{
    class Program
    {
        static void Main()
        {
            string[] theArgs = Environment.GetCommandLineArgs();

            for (int i = 1; i < theArgs.Length; i++)
            {
                Console.WriteLine("Arg: {0}", theArgs[i]);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但这并没有解决我的好奇心,我能以某种方式让它不像记录参数那样记录可执行文件并用foreach循环打印出来以获得我期望的输出吗?

提前致谢!

c#

3
推荐指数
1
解决办法
3997
查看次数

如何在DB未存储在Microsoft SQL Server中时创建数据库备份?

我正在使用SQL Server 2008 R2数据库构建一个C#应用程序,该数据库存储在bin我项目的文件夹中.我使用Linq to Sql方法创建数据库并将其附加到我的项目中.

我遇到的问题是,当我尝试创建数据库的备份时.它抛出一个错误说

数据库(database_name)不存在,请确保正确输入名称.BACKUP DATABASE异常终止.

这是我在按钮点击事件上写的代码:

try
{
    SaveFileDialog sd = new SaveFileDialog();
    sd.Filter = "SQL Server database backup files|*.bak";
    sd.Title = "Create Database Backup";

    if (sd.ShowDialog() == DialogResult.OK)
    {
        using (SqlConnection conn = new SqlConnection(connStr))
        {
            string sqlStmt=string.Format("BACKUP DATABASE <database_name> TO DISK='{0}'",sd.FileName);

            using (SqlCommand bu2 = new SqlCommand(sqlStmt, conn))
            {
                conn.Open();
                bu2.ExecuteNonQuery();
                conn.Close();

                MessageBox.Show("Backup Created Sucessfully");
            }
        }
    }
}
catch(Exception ex)
{
    MessageBox.Show(ex.ToString());
}
Run Code Online (Sandbox Code Playgroud)

我的连接字符串:

string connStr = ConfigurationManager.ConnectionStrings["project_name.Properties.Settings.project??_nameConnectionString"].ConnectionString; 
Run Code Online (Sandbox Code Playgroud)

然后从我的app.config文件

<add name="project_name.Properties.Settings.project_nameConnectionString" …
Run Code Online (Sandbox Code Playgroud)

c# database sql-server backup

2
推荐指数
1
解决办法
3071
查看次数

需要解释我丢失的代码输出

我目前正在学习C#的过程,我需要一个解释.对于经验丰富的人来说,这可能是合乎逻辑且简单的,但我认为代码应该以这种方式工作而不是.

我想打印出所有Car内部的对象carArray在我的Garage的foreach使用命名迭代循环,但是当我通过GetTheCars法和其他块进入里面,没有任何反应.反向打印阵列工作正常.这是代码..

主要方法:

static void Main(string[] args)
    {
        Garage carLot = new Garage();

        foreach (Car c in carLot.GetTheCars(false))
        {
            Console.WriteLine("{0} is going {1} MPH", c.PetName, c.CurrentSpeed);
        }

        Console.WriteLine();

        foreach (Car c in carLot.GetTheCars(true))
        {
            Console.WriteLine("{0} is going {1} MPH", c.PetName, c.CurrentSpeed);
        }
    }
Run Code Online (Sandbox Code Playgroud)

车库类:

class Garage : IEnumerable
{
    private Car[] carArray = new Car[4];

    public Garage()
    {
        carArray[0] = new Car("Rusty", 30);
        carArray[1] = new Car("Clunker", 55); …
Run Code Online (Sandbox Code Playgroud)

.net c# collections foreach

1
推荐指数
1
解决办法
134
查看次数

如何将“MM/dd/yy”字符串转换为最近一年的日期?

我将日期作为字符串输入,格式为MM/dd/yy.

我正在尝试将其转换为DateTimeOffset以下方式:

string dateString = "02/11/48";

DateTimeOffset.TryParseExact(
    dateString,
    "MM/dd/yy",
    CultureInfo.InvariantCulture,
    DateTimeStyles.None,
    out DateTimeOffset date);
Run Code Online (Sandbox Code Playgroud)

然而,当这个字符串被转换为 时DateTimeOffset,年份被设置为 1948。由于业务逻辑,我知道那里的日期总是有最近的未来年份,所以年份应该是 2048。

有没有办法将字符串转换为DateTimeOffset这种方式,或者在解析后我是否必须在其上添加额外的逻辑?

c# datetimeoffset .net-5

1
推荐指数
1
解决办法
67
查看次数