我正在使用一个使用Windows身份验证的C#和ASP.Net应用程序.
即在Web.config中:
<system.web>
<authentication mode="Windows" />
</system.web>
Run Code Online (Sandbox Code Playgroud)
我想从Active Directory获取当前用户的详细信息(全名,电子邮件地址等).
我可以SOMEDOMAIN\someuser通过使用获得他们的Windows 2000用户登录名(例如:)
string username = HttpContext.Current.Request.ServerVariables["AUTH_USER"];
Run Code Online (Sandbox Code Playgroud)
我已经使用他们当前的登录名(而不是他们的Windows 2000用户登录名)为用户制定了LDAP查询:
DirectorySearcher adSearch = new DirectorySearcher(
"(userprincipalname=someuser@somedomain.com.au)");
SearchResult adSearchResult = adSearch.FindOne();
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何使用他们的前W2K登录名为用户搜索AD,或者以'someuser@somedomain.com.au'格式获取他们的登录名.
有任何想法吗?
如何清除c#中的线程主体.
我有一个后台线程,它做了一个
Membership.ValidateUser(username, password);
Run Code Online (Sandbox Code Playgroud)
然后将生成的Principal复制回主线程
AppDomain.CurrentDomain.SetThreadPrincipal(Thread.CurrentPrincipal);
Run Code Online (Sandbox Code Playgroud)
这很好用.但是,如果我注销我想清除主体,如果我将它设置为null它什么都不做Thread.CurrentPrincipal = null; 如果我尝试通过再次设置它
AppDomain.CurrentDomain.SetThreadPrincipal(Thread.CurrentPrincipal);
Run Code Online (Sandbox Code Playgroud)
我收到了错误
Default principal object cannot be set twice.
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
什么被认为是复制[克隆] LINQ to SQL实体导致数据库中新记录的最佳实践?
上下文是我希望为管理员的网格中的记录创建重复的功能.网站和尝试了一些事情和明显的,读取数据后,改变ID = 0,更改名称submitChanges(),并点击异常,大声笑.我想我可能会停下来问一位专家.
我希望首先阅读记录,通过在"Copy Of"前面添加名称然后另存为新记录来更改名称.
我尝试在drawRect以外的其他地方调用UIGraphicsGetCurrentContext().它给了我一个NULL.我只能在UIView的drawRect中获取当前上下文是真的吗?
我正在尝试按照这里的说明,在Dreamhost上使用Passenger进行一个简单的Django项目
我完全按照那个教程设置了目录,并确保django在我的PYTHONPATH上(我可以运行python并输入'import django'而没有任何错误).但是,当我尝试在浏览器中访问该URL时,我收到以下消息:"导入您的passenger_wsgi.py时出错".这是我的passenger_wsgi.py文件的内容:
import sys, os
sys.path.append("/path/to/web/root/") # I used the actual path in my file
os.environ['DJANGO_SETTINGS_MODULE'] = ‘myproject.settings’
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Run Code Online (Sandbox Code Playgroud)
但是,当我在passenger_wsgi.py中放入以下简单的"Hello World"应用程序时,它按预期工作,表明Passenger已正确设置:
def application(environ, start_response):
write = start_response('200 OK', [('Content-type', 'text/plain')])
return ["Hello, world!"]
Run Code Online (Sandbox Code Playgroud)
我错过了什么?好像有些配置问题.
我最近不得不为一个安装项目(使用最流行的产品创建安装:InstallShield)而努力使其适用于产品升级(从一个版本迁移到另一个版本).最后我发现我需要使用一个长包代码但是正在使用其他一些代码.浪费了我8个小时(测试和调试安装程序很痛苦).
现在,如果我考虑一下,一旦你完成了编码的所有困难部分,你想要的只是正确的应用程序,库被复制到目标计算机,用户只需运行它.期.这个看似简单的任务通常是一个棘手的任务,"关闭以完成约会"使得更加艰难.
难道你不觉得在窗户上部署一个产品本来就很困难本来应该更简单吗?(或安装人员真的应该得到那么多的关注,我只是为此疯狂?)
您是否曾使用过更简单的部署方案,例如"将文件夹复制到您喜欢的位置并运行exe.当您要删除它时,只需删除该文件夹!"?它有效并使事情变得简单吗?
我想知道有多少人使用Microsoft开发堆栈(IIS和/或ASP.NET)实际上使用REST?如果是这样,正在使用什么形式的休息?
REST可以分为多种方式,但出于这个问题的目的,我将其分类如下:
在我正在教授的课程中,我们一直在尝试在IIS上实现"彻底RESTful"服务,但是我们在实现PUT方法时遇到了困难.在IIS上实现PUT似乎没有太多的嗡嗡声,所以我想知道有多少人实际上在使用完整的REST?你在使用REST吗?
有没有人知道一个好的文本到语音库.它需要是开源的并提供C API吗?
PS:我已经完成了搜索,但我希望实际使用这些API的人提出建议
我在java docs中看到了这个:ScheduledAtFixedRate,它说
如果任务的任何执行遇到异常,则后续执行被禁止
我不希望在我的应用程序中发生这种情况.即使我看到异常,我也总是希望后续执行发生并继续.我怎样才能从中获得这种行为ScheduledExecutorService.
我有一个WPF标签控件,我试图改变使用由一些遗留代码提供的System.Drawing.Font对象的外观.我已经能够设置大部分属性,但我正在与Strikeout和Underline斗争.
到目前为止,我有:
System.Drawing.Font font = FontFromLegacyCode();
System.Windows.Controls.Label label = new System.Windows.Controls.Label();
label.FontFamily = new System.Windows.Media.FontFamily( font.Name );
label.FontWeight = font.Bold ? System.Windows.FontWeights.Bold : System.Windows.FontWeights.Regular;
label.FontStyle = font.Italic ? System.Windows.FontStyles.Italic : System.Windows.FontStyles.Normal;
label.FontSize = font.Size;
Run Code Online (Sandbox Code Playgroud)
如何设置字体删除线或下划线属性?有没有更好的控制使用?