小编Ken*_*enD的帖子

使用OpenSSL .Net检索证书

我想使用OpenSSL .Net包装器从远程服务器检索证书到我的C#代码.基本上,我想复制

openssl s_client -connect 192.168.254.13:636 -showcerts
Run Code Online (Sandbox Code Playgroud)

..并最终将结果带入X509证书.这有可能,如果有的话,有人能指出我正确的方向吗?

.net c# openssl

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

如何使用 Swashbuckle 实现 OpenAPI readOnly 和 writeOnly

我正在 .Net 5.0 Web API 中使用 Swashbuckle (6.1.1)。我仍在学习,但我想实现一个类,其中某些属性仅在使用 a 进行“读取”时有效GET,而其他属性仅在使用 a 进行“写入”时有效POST。根据OpenAPI 规范

\n
\n

您可以使用 readOnly 和 writeOnly 关键字将特定属性标记为只读或只写。这很有用,例如,当 GET 返回的属性多于 POST \xe2\x80\x93 中使用的属性时,您可以在 GET 和 POST 中使用相同的架构,并将额外的属性标记为只读。readOnly 属性包含在响应中,但不包含在请求中,writeOnly 属性可以在请求中发送,但不包含在响应中。

\n
\n

这正是我想要实现的目标。然而,我正在努力让 Swashbuckle 使用readOnlywriteOnlykeyworks 生成 OpenAPI 规范。

\n

例如:

\n
    public class testDetails\n    {            \n        public string commonProperty { get; set; }           \n        public  string readOnlyProperty { get; set; }\n        public string writeOnlyProperty {  get; set; }\n    }\n\n …
Run Code Online (Sandbox Code Playgroud)

asp.net-web-api swashbuckle openapi

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

获取 macOS 上运行的 .Net Core 中所有打开的窗口的列表(通过 NSApplication?)

在 Windows 上获取 .Net Framework 中打开的窗口列表相对容易。如何在 macOS 上的 .Net Core/.Net 5 或更高版本中执行相同操作?

为了澄清这一点,我正在寻找一种方法来检索任何正在运行的应用程序/进程拥有的所有打开的窗口的列表。我没有太多 macOS 开发经验 - 我是一名 Windows 开发人员 - 但我尝试使用此答案NSApplication建议的方法。

我在 macOS Monterey (12.2) 上的 VS2022 中创建了一个 .Net 6.0 控制台应用程序,添加了对 和 的引用,Xamarin.Mac如下libxammac.dylib所述-描述了在 Xamarin 而不是 .Net 中执行此操作,但我没有看到任何其他选项来创建控制台应用。用简单的代码:

 static void Main(string[] args)
    {
        NSApplication.Init();
    }
Run Code Online (Sandbox Code Playgroud)

我得到输出

Xamarin.Mac:dlopen错误:dlsym(RTLD_DEFAULT,mono_get_runtime_build_info):找不到符号

我不知道这意味着什么。我什至不确定这种方法有什么优点。

有谁知道是否可以从 .Net Core/6.0 应用程序使用 NSApplication,如果可以,NSApplication 是否能让我读取系统范围内打开窗口的列表?如果没有,还有其他方法可以实现这一点吗?

这仅供我自己的内部使用,它不需要在我自己的环境之外以任何方式便携或稳定。

c# macos .net-core

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

计算SQL Server中"重叠"行的数量

我被要求查看一个记录用户登录和注销活动的数据库 - 这是一个用于登录时间的列,然后是另一个用于记录注销的列,两者都是OLE格式.我需要汇总一些有关用户并发性的信息 - 即每天在同一时间登录的用户数量.

有谁知道如何在SQL中执行此操作?我真的不需要知道细节,只需要知道每天的计数.

提前致谢.

sql-server

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

带有c#控制台应用程序的系统托盘图标将不显示菜单

我有一个小的C#(.NET 4.0)控制台应用程序,我希望用户能够通过右键单击系统托盘图标时显示菜单来进行交互.我可以在没有任何问题的情况下为托盘添加图标,但我无法显示菜单.我正在使用以下代码:

NotifyIcon trayIcon = new NotifyIcon();
trayIcon.Text = "TestApp";
trayIcon.Icon = new Icon(SystemIcons.Application, 40, 40);

ContextMenu trayMenu = new ContextMenu();

trayMenu.MenuItems.Add("Blah", item1_Click);
trayMenu.MenuItems.Add("Blah2", item1_Click);
trayMenu.MenuItems.Add("Blah3", item1_Click);

trayIcon.ContextMenu = trayMenu;
trayIcon.Visible = true;
Run Code Online (Sandbox Code Playgroud)

...将图标放入托盘中.但是,右键单击该图标不会执行任何操作.我尝试了各种排列MenuItems.Add,但没有任何东西会让菜单出现.我确定我错过了一些简单的东西 - 任何想法是什么?

.net c# system-tray

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

使代码签名令牌凭据持久化

我有一个商业代码签名证书,它是通过 USB 令牌提供的。供应商 (GlobalSign) 提供了一个实用程序的下载,该实用程序需要安装才能使用令牌SafeNet

这一切正常;但是,我以前可以让密码保留一段时间 - 这意味着当天第一次使用需要密码,但在此期间(4 小时)内的后续使用不需要我重新进行身份验证。

直到几个月前我不得不重建操作系统,全新安装 Windows 10 之前,情况一直如此。从那时起,我每次签名时都必须输入密码,无论是否通过 Visual Studio或signtool

在此处输入图片说明

尽管 SafeNet 客户端中的设置被设置为“启用单一登录”

在此处输入图片说明

我相当肯定我以前的环境显示的是 SafeNet 风格的身份验证对话框,而不是 Windows 安全对话框。这比任何事情都带来不便,但是有什么我可以设置/更改/安装以强制 SafeNet 而不是 Windows 进行身份验证,这可能会恢复在一段时间内记住密码的能力?

windows code-signing-certificate

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

在IIS7上部署ASP.NET OLEDB代码时会中断

我正在尝试编写一个简单的网站(ASP.NET v4),它将调用Windows搜索,找到一个特定的文件并将其返回给用户.我将以下内容放在一起作为示例:它在"remoteserver"上调用Windows Search服务,并返回"somefile.txt"的路径:

OleDbConnection conn = new OleDbConnection();

conn.ConnectionString = "Provider=Search.CollatorDSO;Extended Properties='Application=Windows';";

OleDbCommand cmd = conn.CreateCommand();


cmd.CommandText = string.Format(
            "SELECT System.ItemPathDisplay, System.ItemType FROM " +
            " sytelhp.systemindex WHERE SCOPE='file://remoteserver/archive' AND CONTAINS(\"System.FileName\", " +
            " '\"*{0}*\"')", "somefile.txt");


conn.Open();

OleDbDataReader rdr = cmd.ExecuteReader();

string result=rdr[0].ToString();
Run Code Online (Sandbox Code Playgroud)

..这在Visual Studio 2010开发环境中效果很好,"结果"包含文件的路径.但是,如果我将其部署到本地IIS7服务器(在Server 2008上运行),我会收到此错误:

The parameter is incorrect. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in …
Run Code Online (Sandbox Code Playgroud)

asp.net oledb windows-search

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

SQL按"重量"排序记录

我们有一个系统,通过表中的"优先级"数字处理记录.我们通过表的内容来定义优先级,例如

UPDATE table
SET priority=3
WHERE processed IS NULL

UPDATE table
SET priority=2
WHERE balance>50

UPDATE table
SET priority=1
WHERE value='blah'
Run Code Online (Sandbox Code Playgroud)

(请忽略优先级之间可能存在'重叠'的事实:)

这样可以正常工作 - 表按优先级顺序处理,因此首先处理"value"列为"blah"的所有行.

我已经被赋予了添加选项以通过可定义的"权重"来订购记录的任务.例如,我们希望50%的处理优先级为1,优先级为25%,优先级为25%,优先级为25%.因此,根据上述情况,在每100条记录中,其中50条将是"值"为"blah"的记录. ",其中25个将是"平衡"大于50等的地方.

我正在试图弄清楚如何做到这一点:"优先级"的某种加权递增值似乎是最好的方法,但我无法理解如何对此进行编码.有人可以帮忙吗?

编辑:道歉,应该说:这是在MSSQL 2008上运行

sql t-sql sql-server-2008

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

ReportViewer 控件返回空白页

我在使用标准 ASP.NET ReportViewer 控件(v11、SQL 2012、VS 2012)时遇到问题。这之前在某个时候可以工作,连接到远程 SSRS 服务器,但在网站的开发过程中,有些东西破坏了它,我正在努力找出原因。

如果我创建一个简单的表单:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ReportTest.aspx.cs" Inherits="ReportTest" %>

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        This is a test!

        <rsweb:ReportViewer ID="ReportViewer1" runat="server" ProcessingMode="Remote">
            <ServerReport ReportPath="/Reports/MyTestReport" ReportServerUrl="http://sqlserver/reportserver" />           
        </rsweb:ReportViewer>
    </div>
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

..并运行它,浏览器上不会显示任何内容。甚至连文本也没有This is a test!,这表明服务器端有什么东西“崩溃”了。支持这个理论,使用 Fiddler 我可以看到没有尝试联系报表服务器。

我已在 Visual Studio 中打开所有异常捕获,但没有捕获任何内容,并且在输出中看不到任何明显的内容。ReportViewer 控件在设计模式下正确显示,并且我已重新安装 ReportViewer 可再发行组件。

asp.net reportviewer reporting-services

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

动态更改scrapy请求调度器优先级

我正在使用 scrapy 对内部 Web 应用程序执行测试。完成所有测试后,我使用 CrawlSpider 到处检查,并为每个响应运行 HTML 验证器并查找 404 媒体文件。

除了这个之外它工作得很好:最后的抓取,GET随机顺序的东西......所以,执行 DELETE 操作的 URL 在其他操作之前被执行。

我想在最后安排所有删除。我尝试了很多方法,使用这种调度程序:

从scrapy导入日志

class DeleteDelayer(object):
    def enqueue_request(self, spider, request):
        if request.url.find('delete') != -1:
            log.msg("delay %s" % request.url, log.DEBUG)
            request.priority = 50
Run Code Online (Sandbox Code Playgroud)

但它不起作用......我在日志中看到删除是“延迟”,但它们在执行过程中被执行。

我想过使用一个中间件,它可以在内存中堆积所有删除 URL,并在spider_idle调用信号时将它们放回去,但我不确定如何执行此操作。

实现这一目标的最佳方法是什么?

python scrapy

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