小编fli*_*ubt的帖子

Windows存储ACL和ACL的位置遵循从一台计算机到另一台计算机的文件?

我们的应用程序使用一个组件,该组件在我们的可执行文件的目录中需要一个许可证文件,它恰好是一个.NET WinForms应用程序,尽管我认为这个问题并不重要.当安装在某些XP专业版机器上时(目前为止只有几百个中的三个),该组件会抛出许可证异常.因此,我重新生成了许可证文件并将其发送给组件供应商(EMC Captiva),供应商声称该错误是由于"Users"组对该文件没有读取权限.遇到错误的用户恰好是本地管理员,但除此之外,我仍然对更一般的问题感到好奇.

所以我的问题是,ACL是否存储在一个文件中,以便它们在整个生命周期中都遵循该文件,特别是在我的开发机器(机器1)上生成许可文件,存储在Subversion(机器2)中,从源代码控制中检出由TeamCity(机器3),由InstallShield(机器4)打包到安装程序中,最后部署到客户机器(机器5),由管理员安装它?在我的开发机器(机器1)上生成文件后,通过其支持站点(机器2)将其上载到组件供应商,然后支持人员将其下载到他们的机器上进行检查(机器3)?

我不确定这一点(这就是我在这里问的原因),但我假设每台Windows机器都将ACL存储在NTFS管理的某个中心目录/ list/table中,而不是存储在文件中.当原始文件的ACL从一台机器复制到另一台机器,存储在Subversion中,打包成MSI等时会发生什么?有人能指出一些我可以阅读的好参考资料吗?

svn windows permissions acl installshield

8
推荐指数
1
解决办法
6265
查看次数

为什么ASP.NET身份中的Logout使用POST而不是GET?

示例标识项目使用该注销:

@if (Request.IsAuthenticated) {
  using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" })) {
    @Html.AntiForgeryToken()
    <ul class="nav navbar-nav navbar-right">
       <li>@Html.ActionLink("Hello " + User.Identity.GetUserName() + "!", "Index", "Manage", routeValues: null, htmlAttributes: new { title = "Manage" })</li>
       <li><a href="javascript:document.getElementById('logoutForm').submit()">Log off</a></li>
    </ul>
  }
}
Run Code Online (Sandbox Code Playgroud)

AccountController.LogOff()动作方法有一个[HttpPost].

我可以想到使用POST而不是GET的唯一原因是[ValidateAntiForgeryToken].我没有看到这个目的,我们所做的就是退出.

当然这有点矫枉过正?为什么不使用常规的GET链接?

asp.net asp.net-mvc asp.net-identity

8
推荐指数
1
解决办法
1802
查看次数

什么是Finalizer Queue和Control + ThreadMethodEntry?

我有一个WindowsForms应用程序,似乎泄漏内存,所以我使用Redgate的ANTS内存分析器来查看我怀疑的对象,并发现它们只由已经在Finalizer Queue上的对象持有.很棒,究竟什么是Finalizer Queue?你能指出我最好的定义吗?你能分享任何轶事建议吗?

此外,Finalizer Queue上的所有根GC对象都是名为"caller" 的System.Windows.Forms.Control + ThreadMethodEntry对象的实例.我看到它涉及多线程UI交互,但除此之外我不太了解.原谅我明显的懒惰并承认无知,但这些资源都埋藏在供应商的组件中.我正在和供应商讨论这些问题,但我需要一些指导才能让我加快对话速度.你能指点我最有用的ThreadMethodEntry定义吗?任何轶事建议?

另外,我是否应该关注终结器队列中的这些对象?

更新:这篇红门文章很有帮助.

.net memory-leaks finalizer redgate winforms

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

如果没有Novell网络,如何才能提高对Novell网络的支持?

我在.NET/MSSQL商店工作,这个商店在支持运行Novell的客户方面遇到了麻烦,部分原因是因为我们没有Novell(或其中的钱),部分原因是我们没有Novell经验.这个问题可以很容易地扩展到"当我们没有X技术时,我们如何才能提高对技术X的支持?" 显然,我希望有人说"获取技术或者有经验的人很容易",但请记住,我只是一名开发人员,而不是开发经理或掌管钱包的人.我找了一个Novell服务器虚拟设备(虽然我不确定"Novell服务器"是我应该寻找的)但在VMware的网站上找不到多少.

.net sql-server vmware novell

6
推荐指数
0
解决办法
409
查看次数

在没有app.config的情况下在.NET exe中禁用authenticode签名验证

有没有人知道如何在不使用应用程序配置文件的情况下禁用.NET可执行文件中的authenticode签名验证(以避免启动缓慢)?换句话说,这样做:

<configuration>
    <runtime>
        <generatePublisherEvidence enabled="false"/>
    </runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)

没有app.config.可能吗?

.net configuration app-config authenticode

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

如何在SQL 2000中对NTEXT查询的结果使用sp_xml_preparedocument?

我知道NTEXT正在消失,这里有更大的最佳实践问题(比如在NTEXT列中存储XML),但我有一个包含XML的表,我需要从中获取属性值.这应该很容易使用sp_xml_preparedocument,但由于你不能声明类型为NTEXT的局部变量而我无法弄清楚如何使用表达式来指定传递给函数的XML文本,因此更加棘手.我可以在SQL 2005中这样做,因为XML或VARCHAR(MAX)数据类型,但我能为SQL 2000做些什么?

DECLARE @XmlHandle int
DECLARE @ProfileXml xml
SELECT @ProfileXml = ProfileXml FROM ImportProfile WHERE ProfileId = 1

EXEC sp_xml_preparedocument @XmlHandle output, @ProfileXml

-- Pluck the Folder TemplateId out of the FldTemplateId XML attribute.
SELECT FolderTemplateId
FROM OPENXML( @XmlHandle, '/ImportProfile', 1)
WITH( 
FolderTemplateId int '@FldTemplateId' )

EXEC sp_xml_removedocument @XmlHandle
Run Code Online (Sandbox Code Playgroud)

我能为SQL 2000提出的唯一一件事就是使用varchar(8000).是否真的没有办法使用如下表达式?

EXEC sp_xml_preparedocument @XmlHandle output, (SELECT ProfileXml FROM ImportProfile WHERE ProfileId = 1)
Run Code Online (Sandbox Code Playgroud)

xml sql-server types sql-server-2000 sqlxml

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

为什么OpenFileDialog冻结特定机器上的WinForms应用程序?

我有一个WinForms应用程序部署到同一办公室的多台机器上.在本周一之前,办公室中的所有用户都没有使用该应用程序,并使用OpenFileDialog选择要导入的文件.一台机器有很多其他应用程序的更新,现在我们的应用程序试图显示OpenFileDialog冻结.它显示OpenFolderDialog很好; 虽然我没有尝试SaveFileDialog.重复一遍,它上周工作,我们的应用程序没有更新,但它本周冻结在一台机器上,而它适用于办公室中的所有其他机器.

有问题的机器安装了另一个.NET应用程序,我验证了OpenFileDialog在其他应用程序中打开没有问题.

有关为什么OpenFileDialog会冻结在一台机器上的任何想法?有想法该怎么解决这个吗?我们可以尝试重新安装而不知道原因,但我认为最好调查为什么要防止它再次发生.

c# openfiledialog .net-3.5 winforms

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

为什么从 Web 服务器以外的计算机查询 Active Directory 时会发生 DirectoryServicesCOMException?

当请求来自 Web 服务器时,我在 IIS 7.5 上运行的 ASP.NET WebForms 应用程序工作正常,但当同一域用户从域中的任何其他计算机请求同一页面时,会引发以下错误:

类型:System.DirectoryServices.AccountManagement.PrincipalOperationException

MSG:发生操作错误。

在 System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInit() 在 System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit() 在 System.DirectoryServices.AccountManagement.PrincipalContext.Initialize() 在 System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx() 在系统.DirectoryServices.AccountManagement.Principal.FindByIdentityWithTypeHelper(PrincipalContext上下文,类型principalType,Nullable`1identityType,字符串identityValue,DateTime refDate)在System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithType(PrincipalContext上下文,类型principalType,字符串identityValue)在System.DirectoryServices c:\Users\David\Documents\VsProjects\CeoTrunk\Ceoimage.Basecamp\Basecamp\ 中的 Ceoimage.Basecamp.ActiveDirectory.SidSource._TryGetGroupPrincipal(PrincipalContext context, String groupName) 处的 .AccountManagement.GroupPrincipal.FindByIdentity(PrincipalContext context, String IdentityValue) ActiveDirectory\SidSource.cs:第 115 行

-- 内部异常 --

类型:System.DirectoryServices.DirectoryServicesCOMException

MSG:发生操作错误。

在 System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) 在 System.DirectoryServices.DirectoryEntry.Bind() 在 System.DirectoryServices.DirectoryEntry.get_SchemaEntry() 在 System.DirectoryServices.AccountManagement.ADStoreCtx.IsContainer(DirectoryEntry de) 在 System.DirectoryServices .AccountManagement.ADStoreCtx..ctor(DirectoryEntry ctxBase、布尔型 ownCtxBase、字符串用户名、字符串密码、ContextOptions 选项)位于 System.DirectoryServices.AccountManagement.PrincipalContext.CreateContextFromDirectoryEntry(DirectoryEntry 条目)位于 System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInit()

应用程序的 web.config 文件指定<authentication mode="Windows"><identity impersonate="true" />不使用成员资格提供程序。在 IIS 中,应用程序池作为域用户运行,并且应用程序的身份验证禁用了除 ASP.NET 模拟(设置为经过身份验证的用户)和 Windows 身份验证之外的所有功能。

导致错误的代码只是尝试获取组的 SID 来验证用户是否应该访问应用程序:

public string …
Run Code Online (Sandbox Code Playgroud)

c# asp.net active-directory windows-authentication

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

如何将程序集绑定重定向到当前版本或更高版本?

即使我的引用Specific Version设置为false,我也会收到程序集绑定错误,因为目标计算机的版本更高.当某些目标计算机可能具有版本1.61.0.0而其他目标计算机具有1.62.0.0或更高版本时,如何指定当前版本或更高版本以避免以下错误?

System.IO.FileLoadException: Could not load file or assembly 'ServerInterface.NET, Version=1.61.0.0, Culture=neutral, PublicKeyToken=151ae431f239ddf0' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'ServerInterface.NET, Version=1.61.0.0, Culture=neutral, PublicKeyToken=151ae431f239ddf0'
Run Code Online (Sandbox Code Playgroud)

.net c# app-config assembly-binding-redirect

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

Mandrill的Render API是否忽略映射到Handlebars变量的merge_vars?

在Mandrill的Template API页面上,我插入以下JSON以在单击"Try it"时测试Render方法:

{
    "key": "MY VALID KEY",
    "template_name": "test1",
    "template_content": [

    ],
    "merge_vars": [
        {
            "name": "invoice_number",
            "content": "1001"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

测试结果返回我的模板,但merge_var我正在测试的那个尚未合并,即结果仍然包含{{invoice_number}}:

{
    "html": "<p style=\"font-family: sans-serif;\">Dear Customer,</p>\r\n\r\n<p style=\"font-family: sans-serif;\">Invoice {{invoice_number}} ...</p>"
}
Run Code Online (Sandbox Code Playgroud)

Mandrill的Render API是否忽略merge_vars了Handlebars变量的映射?

javascript handlebars.js mandrill

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