我有一个使用System.DirectoryServices.AccountManagement类的.NET 3.5 Web应用程序.当我搜索一些用户时,我得到一个PrincipalOperationException:从服务器返回一个引用.如果我使用自己的LDAP代码执行旧学校的方式,我可以启用追踪推荐.我需要重写我的代码吗?
我的代码看起来像这样:
using (var principalContext = new PrincipalContext(ContextType.Domain, null, adPath))
{
// Find the principal object for which you wish to enumerate group
// membership.
using (var userPrincipal = UserPrincipal.FindByIdentity(principalContext, identity))
{
if (userPrincipal != null)
{
Name = userPrincipal.DisplayName;
DistinguishedName = userPrincipal.DistinguishedName;
EmailAddress = userPrincipal.EmailAddress;
Sid = userPrincipal.Sid.Value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的adPath可以是2个值中的一个.其中一个值是最近加入的域,可以使用不同的工具进行访问.我相信这是.NET库如何进行LDAP调用的问题.
我正在开发一个 Windows 服务,它从特定的 URL 下载图像。该服务在我的计算机上正常运行,但是当我将其安装在服务器中时,它不会下载图像并出现以下错误:
System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接的主机而建立连接失败未能响应 212.100.220.117:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
--- 内部异常堆栈跟踪结束 ---
在 System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request) at System.Net.WebClient.DownloadData(Uri address) at System.Net.WebClient.DownloadData(String address)
什么可能导致错误,我该如何解决?我读了这个页面:http : //support.microsoft.com/kb/318140
但我不确定这是否是问题所在,如果是我应该在配置中写入什么代理。征求你的意见。
谢谢,
c# windows-services webclient windows-server webclient-download
在具有应用程序请求路由的IIS服务器上,可以通过右键单击"服务器场" - >"创建服务器场"来添加要路由到的新服务器场.
这将弹出一个对话框,可以在其中输入服务器场的设置.在Create-Serverfarms对话框中接受这些设置后,我无法找到编辑或查看这些设置的方法.
因此,我的问题是:如何在create-serverfarm对话框之外编辑服务器场的target-url,http-port和https-port设置?
由于我之前的问题没有答案,因此我将其重述。
使用PC名称(NetBIOS名称)执行gethostbyname()时,使用什么顺序的IP地址(如果将IP地址绑定到一个接口)?
我有以下代码:
#include <iostream>
#include <winsock.h>
#pragma comment(lib, "Ws2_32.lib")
int main()
{
char hostname[255];
struct hostent *he;
struct in_addr **addr_list;
WSAData data;
WSAStartup(MAKEWORD(2, 2), &data);
gethostname(hostname, 255);
std::cout << "Host name: " << hostname << std::endl;
if ((he = gethostbyname(hostname)) == NULL) {
std::cout << "gethostbyname error" << std::endl;
} else {
std::cout << "IP addresses: " << std::endl;
addr_list = (struct in_addr **)he->h_addr_list;
for(int i = 0; addr_list[i] != NULL; i++) {
std::cout << inet_ntoa(*addr_list[i]) << std::endl;
} …Run Code Online (Sandbox Code Playgroud) 这是关于通过 VPN 处理本地存储库时简单 git 命令的无响应。我的 Windows 用户帐户(管理员角色)是我用来登录的域帐户。
我有一些从 github 来源克隆的本地存储库。
场景 1:在没有 VPN 的 Windows 上使用本地存储库。git-gui、git log 等简单命令可以完美运行。
场景 2:在连接到 vpn 的同时在寡妇上使用相同的本地存储库同样的简单命令根本不起作用!!显示输出需要很长时间。git log -2 需要 10 整分钟,而没有 VPN 需要 1 秒。
我的观察:当我们执行git命令时,会启动less.exe、ssh.exe等其他进程,需要很长时间才能响应。是不是因为系统试图访问我的 Windows 域进行身份验证,而 VPN 网络无法访问?
有任何解决这个问题的方法吗?
可能有帮助的其他数据:我拥有属于我的域帐户的服务。当通过 VPN 连接时,尝试启动这些服务中的任何一个都需要永远启动,因为尝试访问我的 Windows 域帐户进行身份验证,而通过 VPN 无法访问。
我尝试在 Windows Server 2012 上安装Active Directory 联合身份验证服务,但不断收到此错误:
目标机器未加入域
在顶部,您可以看到目标服务器有我的服务器名称。为什么我会收到此错误?我该如何修复它?
active-directory windows-server windows-server-2012-r2 adfs3.0
我正在尝试创建一个简单的 Docker 主机来尝试将容器用于某些 .net 项目。
我已经设置了一个 Windows Server 1803 主机并使用 powershell 安装了 Docker EE,它作为服务正确运行。
我想使用自 1709 年以来可用的新“SMB 全局映射”功能来映射我的域上的 samba 共享并在容器中使用它,而无需求助于 gMSA 或其他技巧,我希望它在重新启动时使用 docker 自动挂载和启动容器重新启动策略,就好像它们是 Windows 服务一样。
我运行这些命令,一切正常
$creds = Get-Credential
New-SmbGlobalMapping -RemotePath \\contosofileserver\share1 -Credential $creds -LocalPath G:
docker run -v G:/:G: -it test cmd.exe
Run Code Online (Sandbox Code Playgroud)
但是在主机重新启动后,G: 不再映射,因此我无法理想地将容器置于自动启动状态。我猜这是因为凭证没有在任何地方持久化,但即使在此之后,我怀疑 powershell 命令会使任何东西保持原样,也因为它缺少标准 New-SmbMapping 命令行开关的 -Persistent 参数。
我安装了windows服务。它在我的特殊预定义帐户下运行。而且它无论如何都无法访问网络。如果我在此帐户下使用相同的代码运行我的控制台应用程序,它可以成功访问网络。现在我正在尝试运行此代码:
WebClient client = new WebClient();
string downloadString = client.DownloadString("http://www.google.com");
Run Code Online (Sandbox Code Playgroud)
它在控制台应用程序中工作正常,但在 Windows 服务中不起作用。我认为我应该为我的帐户授予一些特殊权限,以允许它从 Windows 服务访问 Internet。你能告诉我应该设置哪些权限吗?
在 .net 4.5 的更改日志中提到了这个新设置
<configuration>
<!-- ... -->
<runtime>
<performanceScenario value="HighDensityWebHosting" />
<!-- ... -->
Run Code Online (Sandbox Code Playgroud)
但是对于此设置实际影响的内容,确实没有很好的描述,我们是否应该在生产中安装 .net 4.5 后费心更改它。有人可以分享有关此设置究竟发生了什么变化的任何详细信息吗?
我有 2 个使用 Docker Compose 部署的 Windows Server Docker 容器。一个容器运行反向代理服务器,另一个容器运行 Web 服务器。Web 服务器提供一个简单的 index.html 页面。两者都在运行 Nginx。
运行时,一切都按预期工作。我可以通过代理访问内容。但是,如果我重新启动 Web 服务器,则会收到错误的网关错误。然后我需要重新启动代理以使其再次工作。
如何在无需重新启动代理的情况下使其正常工作?
Docker-撰写:
version: '3'
services:
web:
build:
context: ./web
dockerfile: ./dockerfile
proxy:
build:
context: ./proxy
dockerfile: ./dockerfile
ports:
- "8089:80"
Run Code Online (Sandbox Code Playgroud)
代理Dockerfile:
FROM sixeyed/nginx:windowsservercore
COPY nginx.conf C:/nginx/conf
CMD C:\nginx\nginx.exe
Run Code Online (Sandbox Code Playgroud)
代理 nginx.config:
events {
}
http {
server {
listen 80;
server_name localhost;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://web:80/;
}
}
}
Run Code Online (Sandbox Code Playgroud)
网络 Dockerfile:
events {
}
http …Run Code Online (Sandbox Code Playgroud) network-programming nginx windows-server docker docker-compose