小编Sat*_*uru的帖子

Linux- Windows时区映射?

Windows中的所有时区都以这样的方式显示

(GMT+10:00) Canberra, Melbourne, Sydney,

GMT和Offset以及这个地方.反过来,Linux在/ usr/share/zoneinfo/[Continent]/[Place]中将每个时区都作为目录映射.

我需要将每个Windows时区映射到我的应用程序的Linux时区.喜欢

(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi => Asia/Calcutta
Run Code Online (Sandbox Code Playgroud)

现在问题在于俄罗斯和美国之间的国际日期线西.在Windows中,它标记为(GMT-12:00)国际日期线西,并且从各种来源我发现在Linux中它的Etc/GMT + 12.

(GMT-12:00) International Date Line West => Etc/GMT+12
Run Code Online (Sandbox Code Playgroud)

(GMT+12:00) Coordinated Universal Time+12 => Etc/GMT-12
(GMT-02:00) Coordinated Universal Time-02 => Etc/GMT+2
(GMT-11:00) Coordinated Universal Time-11 => Etc/GMT+11 
Run Code Online (Sandbox Code Playgroud)

这让我感到困惑,我的应用程序与时间戳wrt UTC和UTC偏移密切配合.所以这个映射让我和应用程序混乱.

任何人都可以解释为什么在同一个地方都有-12和+12偏移的反之亦然?

提前致谢 :)

linux windows timezone

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

从 .NET Core 2.2 迁移到 3.1 后,不会在 ASP.NET Core 自定义 AuthenticationHandler 中忽略 AllowAnonymous

我有一个使用基本身份验证的 ASP.NET Core 2.2 Web API。到目前为止,它运行良好,没有任何问题。在其中一个控制器中[AllowAnonymous],像往常一样装饰一个操作方法以进行用户登录。

[Produces("application/json")]
[Route("user")]
[AllowAnonymous]
[ApiController]
public class LoginController : ControllerBase
{
    private readonly IConfiguration _configuration;
    private readonly IMessagingService _messageService;
    private readonly IBasicAuthenticationService _basicAuthenticationService;
    private readonly string PWAPIBaseUrl;

    public LoginController(IConfiguration configuration, ILogger<LoginController> logger, IMessagingService messagingService, IBasicAuthenticationService authenticationService)
    {
        _configuration = configuration;
        _logger = logger;
        _messageService = messagingService;
        _basicAuthenticationService = authenticationService;
    }

    [HttpGet]
    [AllowAnonymous]
    [Route("login/{username}/{clientID}")]
    public async Task<IActionResult> UserLogin(string username, string clientID)
    {
        // Check the Credentials Manually
        string failReason = "";
        if (!CheckCredentials(out failReason)) …
Run Code Online (Sandbox Code Playgroud)

c# authentication authorization asp.net-core asp.net-core-webapi

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

使用在启动时全局设置的 JsonStringEnumConverter 排除模型的枚举属性?

我正在使用最新的 .NET Core 3.1.1 开发 ASP.NET Core 应用程序,而System.Text.Json该应用程序之前使用的是Newtonsoft.Json. 按照 Microsoft迁移指南中的建议 ,我已经完成了更改。另外,由于我的大多数枚举需要序列化为字符串,因此我已将 Startup.cs 配置ConfigureServices为全局使用JsonStringEnumConverter

public void ConfigureServices(IServiceCollection services)
{
    // lines omitted for brevity

    services.AddControllers()
                .AddJsonOptions(options =>
                    {
                        options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
                        options.JsonSerializerOptions.IgnoreNullValues = true;
                        options.JsonSerializerOptions.PropertyNameCaseInsensitive = true;
                    });
}
Run Code Online (Sandbox Code Playgroud)

但最近,在发布之后,我们意识到只有少数枚举通过我们的 API 以 json 形式给出。由于这些 API 是外部使用的,因此将数字更改为字符串可能是一件代价高昂的事情。

那么,有没有办法忽略某些枚举属性的通用性,例如带有属性的装饰[JsonIgnore]

c# json .net-core asp.net-core system.text.json

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

使用::SysFreeString() 释放BSTR。更依赖平台?

我正在编写一个具有大量接口和方法的 COM 服务器。并且大多数方法都以 BSTR 作为参数和用于返回的本地参数。一个片段看起来像

更新 5:

真正的代码。这基于特定条件从 DB 的一堆数据中获取以填充对象数组。

STDMETHODIMP CApplication::GetAllAddressByName(BSTR bstrParamName, VARIANT *vAdddresses)
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState())

//check the Database server connection

COleSafeArray saAddress;
HRESULT hr;

// Prepare the SQL Strings dan Query the DB

long lRecCount = table.GetRecordCount();

 if (lRecCount > 0)
 {
    //create one dimension safe array for putting  details
    saAddress.CreateOneDim(VT_DISPATCH,lRecCount);

    IAddress *pIAddress = NULL; 
    //retrieve details 
    for(long iRet = table.MoveFirst(),iCount=0; !iRet; iRet = table.MoveNext(),iCount++)
    {
        CComObject<CAddress> *pAddress;
        hr = CComObject<CAddress>::CreateInstance(&pAddress);
        if (SUCCEEDED(hr))
        {   
            BSTR bstrStreet = ::SysAllocString(table.m_pRecordData->Street); …
Run Code Online (Sandbox Code Playgroud)

com dcom bstr visual-c++-6 visual-c++

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

Angular 需要 Zone.js polyfill。使用系统 js 我正面临这个问题

当我使用 systemjs 和 ASP.NET MVC4 安装 angular4 时,我遇到了这个错误。我试图通过注释代码来解决这个问题

"throw new error('Angular requires Zone.js prolyfill.')" 
Run Code Online (Sandbox Code Playgroud)

在 node_modules/@angular/core/core.umd.js. 但没有任何结果。

我的确切问题是。

未捕获(承诺)错误:Angular 需要 Zone.js prolyfill。在新的 NgZone (core.umd.js:3805) at PlatformRef_._bootstrapModuleFactoryWithZone (core.umd.js:4524) at eval (core.umd.js:4569) at

如果有人知道如何解决此问题,请帮助我。

我在我的 cshtml 文件中使用的依赖项

<script src="~/node_modules/core-js/client/shim.min.js"></script>
<script src="~/node_modules/zone.js@0.8.4/dist/zone.js"></script>
<script src="~/node_modules/reflect-metadata/Reflect.js"></script>
<script src="~/node_modules/systemjs/dist/system.src.js"></script>

<script src="~/systemjs.config.js"></script>
<script>
    System.import('app').catch(function (err)
    {
       console.error(err);
    });
</script>
Run Code Online (Sandbox Code Playgroud)

javascript systemjs angular

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

查找表中存在的命名列

我疯狂地找到一个SQL或T-SQL查询来获取数据库/模式中具有给定名称列的所有表的名称.

请问有人帮我吗?

提前致谢 :)

sql

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

应用服务模式下CPrintDialog创建失败

我有一个自动打印报告的应用程序。我正在使用 CPrintDialog 来获取打印机 DC。

void CMyClass::PrintReport()
{
    CDC dc;
    CPrintDialog printDlg(FALSE);
    printDlg.GetDefaults ();
    ::DeleteDC( printDlg.m_pd.hDC );
    LPDEVMODE pDevMode = printDlg.GetDevMode();
    if(pDevMode)
    {
        pDevMode->dmOrientation = DMORIENT_LANDSCAPE;
        ::GlobalUnlock(pDevMode);
    }
    HDC hDC;
    if( (hDC = printDlg.CreatePrinterDC()) == NULL )
    {
        ::GlobalFree( printDlg.m_pd.hDevMode );
        ::GlobalFree( printDlg.m_pd.hDevNames );
        return;
    }
    ::GlobalFree( printDlg.m_pd.hDevMode );
    ::GlobalFree( printDlg.m_pd.hDevNames );
    dc.Attach(hDC);         // Attach a printer DC
    dc.m_bPrinting = TRUE;
    dc.SetMapMode(MM_LOENGLISH);
    /* 

        Printing Logic using dc
    */
}
Run Code Online (Sandbox Code Playgroud)

当我在控制台应用程序附带的调试模式下运行我的应用程序时,这很好用。

但是,当我将应用程序作为 Windows 服务运行时,CPrintDialog 创建失败。

我做错了什么吗?:( 请帮我。

注意:应用程序设计为在安装中作为服务运行。

printing mfc visual-c++-6

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

解析这个表达!

任何人都可以为我解析以下表达式

#define Mask(x) (*((int *)&(x)))
Run Code Online (Sandbox Code Playgroud)

我应用了流行的左右规则来解决但不能...... :(

非常感谢一堆:)

c++

0
推荐指数
2
解决办法
285
查看次数

查找动态分配的阵列的大小

一个简单的问题,虽然我无法在更快的时间内找到答案.

我通过'new'关键字使用动态分配来为数组分配内存块,如

int *array = new int[size]; //The Size is got by some logic
Run Code Online (Sandbox Code Playgroud)

现在从逻辑的长远来看,我需要解析这个数组,这样我需要得到/计算这个数组的大小.

我在这里很无能为力.请帮帮我.

提前致谢 :)

c++ memory-management

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

是否有必要将() 与Contains 方法一起使用?

我有这样的代码:

string target = ListOfTabs.FirstOrDefault(e.Target.Location.OriginalString.Contains);
Run Code Online (Sandbox Code Playgroud)

我没有写代码,我试图理解它的作用。我看到有一个方法被调用,Contains()但在这里无法理解为什么Contains. 这是另一回事吗?有人可以解释一下这段代码在做什么吗?

在此处输入图片说明

c# linq list enumerable

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