我想使用OpenSSL .Net包装器从远程服务器检索证书到我的C#代码.基本上,我想复制
openssl s_client -connect 192.168.254.13:636 -showcerts
Run Code Online (Sandbox Code Playgroud)
..并最终将结果带入X509证书.这有可能,如果有的话,有人能指出我正确的方向吗?
我正在 .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
这正是我想要实现的目标。然而,我正在努力让 Swashbuckle 使用readOnly和writeOnlykeyworks 生成 OpenAPI 规范。
例如:
\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) 在 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 是否能让我读取系统范围内打开窗口的列表?如果没有,还有其他方法可以实现这一点吗?
这仅供我自己的内部使用,它不需要在我自己的环境之外以任何方式便携或稳定。
我被要求查看一个记录用户登录和注销活动的数据库 - 这是一个用于登录时间的列,然后是另一个用于记录注销的列,两者都是OLE格式.我需要汇总一些有关用户并发性的信息 - 即每天在同一时间登录的用户数量.
有谁知道如何在SQL中执行此操作?我真的不需要知道细节,只需要知道每天的计数.
提前致谢.
我有一个小的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,但没有任何东西会让菜单出现.我确定我错过了一些简单的东西 - 任何想法是什么?
我有一个商业代码签名证书,它是通过 USB 令牌提供的。供应商 (GlobalSign) 提供了一个实用程序的下载,该实用程序需要安装才能使用令牌SafeNet。
这一切正常;但是,我以前可以让密码保留一段时间 - 这意味着当天第一次使用需要密码,但在此期间(4 小时)内的后续使用不需要我重新进行身份验证。
直到几个月前我不得不重建操作系统,全新安装 Windows 10 之前,情况一直如此。从那时起,我每次签名时都必须输入密码,无论是否通过 Visual Studio或signtool:
尽管 SafeNet 客户端中的设置被设置为“启用单一登录”
我相当肯定我以前的环境显示的是 SafeNet 风格的身份验证对话框,而不是 Windows 安全对话框。这比任何事情都带来不便,但是有什么我可以设置/更改/安装以强制 SafeNet 而不是 Windows 进行身份验证,这可能会恢复在一段时间内记住密码的能力?
我正在尝试编写一个简单的网站(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) 我们有一个系统,通过表中的"优先级"数字处理记录.我们通过表的内容来定义优先级,例如
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上运行
我在使用标准 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 可再发行组件。
我正在使用 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调用信号时将它们放回去,但我不确定如何执行此操作。
实现这一目标的最佳方法是什么?
c# ×3
.net ×2
asp.net ×2
.net-core ×1
macos ×1
oledb ×1
openapi ×1
openssl ×1
python ×1
reportviewer ×1
scrapy ×1
sql ×1
sql-server ×1
swashbuckle ×1
system-tray ×1
t-sql ×1
windows ×1