小编use*_*624的帖子

ASP.NET Web Api - Startup.cs不存在

我有一个ASP.NET Web Api解决方案,它不包含Startup.cs类.我认为这是因为解决方案不是作为MVC解决方案创建的.

启动的所有代码都在Global.asax.cs文件中定义,如下所示

public class Global : HttpApplication
{
    void Application_Start(object sender, EventArgs e)
    {
        // Code that runs on application startup
        AreaRegistration.RegisterAllAreas();
        GlobalConfiguration.Configure(WebApiConfig.Register);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,现在我想支持OAuth,我发现的所有文档都基于具有以下类的Startup.cs

public partial class Startup
{
    public void Configuration(IAppBuilder app)
    {
        ConfigureAuth(app);
    }
}
Run Code Online (Sandbox Code Playgroud)

是否可以在我的解决方案中添加这个新类,解决方案将继续工作?

这会与Global.asax.cs类有任何冲突吗?

编辑:我添加Startup.cs类后,我无法点击我添加到它的断点...

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.Owin;
using Owin;

[assembly: OwinStartup(typeof(MyGame.Startup))]

namespace MyGame
{
    public partial class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

知道发生了什么事吗?

.net c# asp.net asp.net-mvc asp.net-mvc-4

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

在 Webpack5 中使用最新的 terser-webpack-plugin

根据此链接(Terser 文档),如果您使用的是最新的 Webpack 5,则无需安装 Terser 插件,因为它已包含在 Webpack 5 中。但是,我很难让它发挥作用。

如果我terser-webpack-plugin从我的packages.json文件中删除并尝试像这样使用它(见下面的 webpack.production.js),我会收到这样的构建错误:

[webpack-cli] 加载 'D:\Project\React\MyApp\config\webpack.production.js' 配置失败

[webpack-cli] 错误:找不到模块 'terser-webpack-plugin'

webpack.production.js

const TerserPlugin = require('terser-webpack-plugin');
const webpack = require('webpack');
const { merge } = require('webpack-merge');

module.exports = merge(commonCfg, {
        ......
        optimization: {
            minimize: true,
            minimizer: [new TerserPlugin({
                cache: false,
                parallel: false,
                sourceMap: true,
            })]
        },
Run Code Online (Sandbox Code Playgroud)

现在,如果我terser-webpack-pluginpackage.json我的构建中包含最新版本 (5.1.1)并运行我的构建,我会收到以下错误消息:

[webpack-cli] 加载 'D:\Project\React\MyApp\config\webpack.production.js' 配置失败

[webpack-cli] 无效的选项对象。Terser 插件已使用与 API 架构不匹配的选项对象进行初始化。

  • options 有一个未知的属性“sourceMap”。这些属性是有效的: object { test?, include?, …

javascript node.js webpack webpack-5

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

安装 --global windows-build-tools 永远不会完成

我正在尝试通过运行以下命令来安装 --global windows-build-tools

npm install --global windows-build-tools -verbose

无论我尝试通过 PowerShell 还是 CMD(均以管理员身份),安装都会陷入同一步骤。

npm info run windows-build-tools@5.2.2 postinstall node_modules/windows-build-tools node ./dist/index.js [##################] | reify:resolve: info run windows-build-tools@5.2.2 postinstall node_modules/windows-build-tools node ./dist/index.js

这可能无法完成有什么原因吗?

node.js npm npm-install

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

排除正则表达式匹配的最后一个字符

我有以下正则表达式:

%(?:\\.|[^%\\ ])*%([,;\\\s]) 
Run Code Online (Sandbox Code Playgroud)

这很好但很明显它也突出了下一个角色%.

我想知道如何从正则表达式中排除它?

例如,如果我有:

The files under users\%username%\desktop\ are:
Run Code Online (Sandbox Code Playgroud)

它会突出%username%\但我只是想要%username%.另一方面,如果我像这样离开正则表达式:

%(?:\\.|[^%\\ ])*%
Run Code Online (Sandbox Code Playgroud)

...那么它将匹配我不想要的这种模式:

%example1%example2%example3
Run Code Online (Sandbox Code Playgroud)

知道如何通过正则表达式排除比赛中的最后一个字符吗?

regex

6
推荐指数
2
解决办法
5530
查看次数

在签名中使用params string []重载函数

我有这两个功能

    public static string Function1 (string id, params string[])
    {
       return Function1(id, null, null, params)
    }

public static string Function1 (string id, string id2, Object a, params string[])
{
      string id = id,
      if (IsValidId(id))
      {
            start = new ProcessStartInfo();
            start.Arguments = params;
            if (string.IsNullOrEmpty(id2)==false)
            {
                start.RedirectStandardOutput = true;
            }
      }
}
Run Code Online (Sandbox Code Playgroud)

当我进行以下调用时,我想使用第二个重载

MyStaticClaass.Function1(
        input1,
        input2,
        null, // (This one represents the Object)
        input3,
        input4,
        input5);
Run Code Online (Sandbox Code Playgroud)

有没有办法可以强制它转到方法的第二个定义?

我遇到的编译错误是:这个调用在以下方法或属性之间是不明确的:(然后是上面的两个方法)

PS:我没有选择这两个功能.我不能改变他们的签名或他们的名字.

.net c# c#-4.0

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

Startup.cs 中的 OpenIdConnectAuthenticationOptions 问题(AuthenticationFailed 属性)

我的 Startup.cs 有以下代码

public void ConfigureAuth(IAppBuilder app)
{
    app.UseWindowsAzureActiveDirectoryBearerAuthentication(
        new WindowsAzureActiveDirectoryBearerAuthenticationOptions
        {
            TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters()
            {
                ValidAudience = ConfigurationManager.AppSettings["value1"]
            },
            Tenant = ConfigurationManager.AppSettings["value2"]
        });

    app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);

    app.UseCookieAuthentication(new CookieAuthenticationOptions
    {
        CookieManager = new SystemWebCookieManager()
    });

    app.UseKentorOwinCookieSaver(); //Workaround for infinite loop between webapp & login page

    app.UseOpenIdConnectAuthentication(
        new OpenIdConnectAuthenticationOptions
        {
            ClientId = clientId,
            Authority = Authority,
            PostLogoutRedirectUri = redirectUri,
            RedirectUri = redirectUri,

            Notifications = new OpenIdConnectAuthenticationNotifications()
            {
                //
                // If there is a code in the OpenID Connect response, redeem it for …
Run Code Online (Sandbox Code Playgroud)

c# openid authentication owin

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

如何知道 std::exception 的异常类型

我有一个如下所示的 try-catch 块

try
{
   // Do something here.
}
catch (const std::exception &e)
{
   // std exception. 
}
catch(...)
{
    // Unknown exception. We can't know the type.
}
Run Code Online (Sandbox Code Playgroud)

我正在阅读http://www.cplusplus.com/reference/exception/exception/中的一些文档,但对我来说,当代码进入 std::exception 部分时,如何知道捕获到什么异常类型并不明显。

有没有办法获取包含错误类型的字符串?(我不想显示错误消息,只想显示异常类型)

c++ exception

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

从具有常量的类在 cshtml 上呈现字符串

我有一个这样的公共课程:

namespace MyProgram.Common
{
     public static class UIStrings
     {
          public const string Title = "Hellow World"
          public const string SubTitle = "This is another string. Please click on '<a href=\"/Home/Status\" target=\"_blank">Here</a>'"
     }
}
Run Code Online (Sandbox Code Playgroud)

然后,在我的 Index.csthml 上,我有以下代码:

<label id="title" for="MyTitle">@Myprogram.Common.UiStrings.Title </label>
<label id="title" for="SubTitle">@Myprogram.Common.UiStrings.SubTitle </label>
Run Code Online (Sandbox Code Playgroud)

标题呈现得很好,但我在副标题中定义的链接不会呈现为链接,而是呈现为字符串本身。

有没有办法做到这一点?我想避免对 cshtml 文件中的字符串进行硬编码...

asp.net-mvc razor asp.net-mvc-4

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

Azure KeyVault GetSecretAsync.Result.Value 错误处理

我有以下代码行从 KeyVault 返回秘密

string kvSecret = kVClient.GetSecretAsync(azureKeyVaultUrl, secret).Result.Value;
Run Code Online (Sandbox Code Playgroud)

虽然这按预期工作,但我不太清楚Result.Value同步执行如何处理运行时错误、异常等。

我试图了解当我调用 Result.Value 时是否有可能出现错误,并且返回的值实际上不是秘密,而是一些随机错误,因此我的变量kvSecret不包含正确的值,而是包含其他值。

我问这个问题的原因是我想确保如果变量不为空或空,它将始终包含秘密而不是其他随机字符串。

c# azure azure-keyvault

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

VSTS部署期间如何从Azure Web App删除文件

我有一个Azure Web App,在其中将一些数据存储在它的持久存储中。通过我的VSTS版本定义,我想删除一个充满数据的文件夹。该文件夹位于D:\ home \ site \ MyFolder

有没有一种方法可以在部署期间从VSTS版本定义中以编程方式删除该文件夹?我需要确保每次进行新部署时该文件夹都为空,此刻我需要通过Kudu Web UI手动进行操作。

azure azure-web-sites azure-devops

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

正则表达式 - 如何排除具有重复字符的表达式

我很想弄清楚正则表达式,我想知道我能够实现以下场景......

让我们说我的输入是这样的.

|1 |2 ||3 ||312 |213
Run Code Online (Sandbox Code Playgroud)

我想要一个只与一个'|'匹配的正则表达式.所以基本上,我想匹配包含一个'|'的任何文本 以及之后的任何数字......

我试过这个:[\|][0-9]+但显然它也给了我|| 3和|| 312作为匹配.

有帮助吗?

谢谢!

regex

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

在C++上使用GetTempFileName函数生成随机文件名

我想使用GetTempFileName函数生成随机文件名,但在调用该函数时不创建文件本身。我想使用该函数来使用名称本身(并且不带扩展名),以便稍后我可以创建具有该特定名称的文件夹。由于没有类似的创建文件夹的函数,我只想获取 GetTempFileName 创建的字符串以便稍后创建文件夹。

LPTSTR wzTemp = new TCHAR[MAX_PATH];
GetTempFileName(strTemp, 0, 0, wzTemp);

CString tempFolder;
tempFolder = wzTemp;
Run Code Online (Sandbox Code Playgroud)

这是我的尝试,但在 GetTempFileName 之后立即创建文件。

知道我该如何调整这个吗?

c++ winapi

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