当用户登录网站时,我正在使用以下代码在Active Directory中查找信息.对本地域运行它非常快,但是通过VPN运行到远程可信域,它非常慢(需要大约7或8秒).将dsa.msc从同一个盒子运行到远程域几乎和在本地运行它一样快.
我正在使用属性过滤来检索可能的最小数据量,因此在这种情况下System.DirectoryServices是否存在某些内在缓慢的问题,或者是否有人对如何提高性能有任何提示?
通过VPN的网络连接很好,只有这个代码运行缓慢.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
using (var LDAPConnection = new DirectoryEntry("LDAP://domain/dc=domain,dc=com", "username", "password"))
{
LDAPConnection.AuthenticationType = AuthenticationTypes.Secure;
using (DirectorySearcher Searcher = new DirectorySearcher(LDAPConnection))
{
Searcher.Filter = "(&(&(objectclass=user)(objectcategory=person))sAMAccountName=username)";
Searcher.PropertiesToLoad.Add("mail");
SearchResult result = Searcher.FindOne(); //this line takes ages!
string EmailAddress = result.Properties["mail"][0].ToString();
Console.WriteLine(EmailAddress);
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我希望用户能够在程序中手动输入日期时间字段的格式.我有Tedit组件.例如,如果用户输入'HH:nn',那么这是一个有效的日期时间格式字符串,并且所有日期时间组件都应该将format属性更改为this,但如果他输入'asd',则不是.有没有快速的方法来检查这一点,而无需编写自己的功能?
我正在编写一个需要检查和操作Windows路径的跨平台应用程序.
具体来说,对于我现在遇到的特殊问题,我需要知道路径是绝对的还是相对的.
当前代码使用boost::filesystem::path
的当然类似于Windows上的魅力:
boost::filesystem::path the_path(the_path_as_a_string);
if (!the_path.has_root_path()) { /* do stuff */ }
Run Code Online (Sandbox Code Playgroud)
这种方法的问题在于boost::filesystem::path
只有两种模式:原生模式和便携模式.这意味着当我在Linux下编译时,Windows路径语法不可用(它#ifdef
在源代码中被删除).因此,路径"C:\ path"在Windows中被认为是绝对的,但在Linux中则相对.
你们能推荐一个可以检查和操作Windows路径的跨平台C++库吗?
现在,我要做的唯一Windows路径操作是检查路径是否是绝对路径.
我将用于绝对路径的标准是它包含一个驱动器号,并且路径以\
.该标准下的绝对路径的示例是C:\path
.这些都是这个标准下相对路径的例子:C:path
,\path
.
我想收集一些有关我的应用程序使用情况的统计数据,因为我已经在Google Analytics中拥有网络统计数据,所以我认为如果我可以从应用程序发送导致Google Analytics受访的请求,那就太酷了,例如.
/app/v1.0/debug
这样我就可以看到我的应用程序启动的频率(或其他).
我在网上看了一下,发现了一些人做类似事情的例子(一些是workaroudn Javascript被禁用,其他人和我一样),但没有在C#中.我尽可能地翻译了代码,但是几天前我已经调用了几次,日志中没有显示任何内容:(
// Send a hit to Google Analytics so we can track which versions are being used
Random rnd = new Random();
int cookie = rnd.Next(10000000, 99999999);
string statsRequest = "http://www.google-analytics.com/__utm.gif" +
"?utmwv=4.3" +
"&utmn=" + rnd.Next(10000) + // Used only to stop browser caching
"&utmhn=myhost.com" + // Hostname
//"&utmhid=<random#>" +
"&utmr=-" + // Referer
"&utmp=/app/v0.4/DEBUG/Test" + // Requested page
"&utmac=UA-123456-7" + // Google Analytics ID
"&utmcc=__utma%3D" + cookie + "3B%2B__utmz%3D" + cookie + …
Run Code Online (Sandbox Code Playgroud) 我试图弄清楚数据绑定BindingSource
应该如何工作我希望DataGridView
用一个List<>
更新列表的内容填充.
List
当我检查调试器时,我可以看到增长并验证它是否被填充.我认为BindingSource
当List
改变时会发生一个事件.但没有一个是可用的.如何更改基础列表时收到通知?
我按照说明操作,并提供以下测试代码:
Data d;
BindingSource bs;
public Form1()
{
InitializeComponent();
bs = new BindingSource();
d = new Data();
}
private void Form1_Load(object sender, EventArgs e)
{
bs.DataSourceChanged += new EventHandler(bs_DataSourceChanged);
bs.ListChanged += new ListChangedEventHandler(bs_ListChanged);
bs.DataMemberChanged += new EventHandler(bs_DataMemberChanged);
bs.CurrentChanged += new EventHandler(bs_CurrentChanged);
bs.CurrentItemChanged += new EventHandler(bs_CurrentItemChanged);
bs.DataSource = d.list;
dataGridView1.DataSource = bs;
}
// ... all the handling methods caught with a break point in VS.
private void …
Run Code Online (Sandbox Code Playgroud) 这是一个非常专业的案例,我觉得很尴尬; 但是,我正在努力工作.
我需要通过表单和结果页面跟踪跟踪号码,所以我一直在python中使用mechanize,表单提交后的链接嵌入在javascript中,所以我不能简单地跟随链接.我想要做的是重新编写url然后请求调用open()
,但是当我这样做时 - 我遇到了一些问题.
我可以在目标页面上调用br.geturl()
并且br.title()
很好,但是当需要阅读相关页面的来源时,它会抛出
AttributeError: mechanize._mechanize.Browser instance has no attribute read (perhaps you forgot to .select_form()?)
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点,或者我太过修补它,任何建议都会很棒
编辑[更多代码{真的很丑,只是试图让它工作}]:
cosn="########"
baseurl="http://aaa.com/"
search="thing.do"
br=Browser()
br.open(baseurl+search)
br.select_form('traceForm')
br['consignments']=cosn
req=br.submit()
pars=Soup(req.read())
found_url=re.match(r"javascript:window.location.href = '(?P<url>[\w\d=&?\.]+)", pars.find('td', attrs={'class':'select'})['onclick']).group('url')
br.open(baseurl+found_url)
print br.title() # works
print br.geturl() # works
print br.read() # throws exception
Run Code Online (Sandbox Code Playgroud) 我正在尝试在Django中动态创建一个文件:
response = HttpResponse(mimetype='text/txt')
response['Content-Disposition'] = 'attachment; filename=%s' % filename # UnicodeEncodeError
response.write('text')
return response
Run Code Online (Sandbox Code Playgroud)
如果我硬编码文件名它可以正常工作,但如果我尝试从包含非ascii字符的DB数据创建文件名(如ó),我会得到一个UnicodeEncodeError异常.如何在不获取异常的情况下使用DB文件名?
迮
我在我的一个网站上使用GET方法进行导航.问题是一些肮脏的爱因斯坦创建了一个调用另一个域的链接:
http://www.mywebsite.com?products=http://www.dirtyeinstein.com?fishform.inc
是否有一个脚本,我可以用来阻止这种滥用.
谢谢.
是否可以编写一个可以每天输出数百个应用程序的自动应用程序生成器?应用程序只是一系列二进制值.如果超级计算机每天生成数百万个组合并输出生成的具有不同大小的二进制文件.然后,这些二进制文件将"运行"以查看它们是否实际运行,如果它们确实运行,则会将这些二进制文件发送给某些测试人员以检查"生成的内容".
谁知道,我们可能会开始获得100%无错误的解决方案.
似乎每个浏览器都在里面添加了一些神奇的硬编码填充<input type="text">
.某些浏览器(IE,Safari,Chrome)使输入框更高一些,但它们正确地顶部对齐,就像它是一个常规的HTML元素一样.我可以忍受额外的高度.但是有些浏览器行为不端(Firefox和Opera),并尝试垂直对齐文本或在其上方添加一些额外的填充.令我感到惊讶的是,现代浏览器不允许布局文本框,就像它们与HTML一样,并添加一些魔术格式.难道我做错了什么?我错过了一些技巧吗?它们是一些可以帮助我的专有CSS属性吗?我简要地看了一下Firefox CSS文档,但我找不到任何文档.或者,我可以使用可编辑的HTML而不是<input type="text">
.
这是一个演示问题的片段:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Test</title>
<style type="text/css">
body, input {
font-family: sans-serif;
font-size: 16pt;
color: White; }
#textbox {
position: absolute;
left: 20px;
top: 20px;
width: 100px;
background-color: #A5C9E2;
line-height: 16pt;
padding: 0px;
margin: 0px;
border-width: 0px; }
#box {
position: absolute;
left: 120px;
top: 20px;
width: 100px;
background-color: #AFD66A;
line-height: 16pt; }
</style>
</head>
<body>
<input type="text" id="textbox" value="Hello">
<div id="box">Hello</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
编辑: …