如何递归删除与特定模式匹配的所有文件和目录?例如,删除所有".svn"目录及其包含的文件?
(可悲的只有DOS)
精简版:
对于使用Windows身份验证的IIS 7.5 Web应用程序,最终用户是否需要具有读取文件访问权限?
长版:
我有一个使用Windows身份验证的Intranet ASP.NET Web应用程序.它安装在许多不同的公司,通常认证工作正常:用户导航到网站,例如http://appserver/MyApp,应用程序识别他们登录的人,并相应地显示页面.我刚刚在新客户端安装它并遇到问题:
连接时,例如http://appserver/MyApp我提示我输入Windows凭据,但输入后我会反复提示.在几次重新输入凭证后,我显示了一个401错误页面,上面写着"401 - 未经授权:由于凭证无效而拒绝访问".因此,它不仅没有通过我的身份,但即使输入用户名和密码,它仍然拒绝访问.
为应用程序的最终用户提供读取和执行权限可以解决此问题,但我认为这根本不是必需的.
在Windows应用程序事件日志中,有一条消息"请求的文件授权失败"以及线程帐户名称:NT AUTHORITY\NETWORK SERVICE和用户:[正确的工作站用户的域帐户].这表明文件访问是使用用户的身份执行的,而不是网络服务的AppPool身份.果然,如果我将最终用户的读取和执行权限(我没有尝试只读)授予应用程序的目录,那么一切正常:当用户浏览到站点时,他们会自动进行身份验证,而不是提示,以及网站正确认识他们的身份!因此,我的解决方案是在应用程序目录中为Everybody提供Read&Execute权限......但这不是一个理想的解决方案.
这看起来很奇怪.在IIS 7.5之前,我从来没有必要这样做,据我所知,在IIS 6或IIS 7中绝对不需要.这是一个新的IIS7.5吗?文档说默认情况下模拟已关闭.我在web.config中添加了一个元素,以确保删除了除Network Service之外的文件权限,但问题仍然存在.
有什么想法吗?IIS 7.5上的Windows Authenticated站点是否正常,以便最终用户需要Web服务器文件的文件权限?
一些相关细节:
http://localhost它位于受信任的站点,因此不被识别为Intranet区域,因此没有通过身份.我还确定它作为此用户标识工作,因为它是具有文件权限的管理员用户. aspnet_regiis -i.net 2.0和
aspnet_regiis -iru.net 4.0.Trusted Connection=True和数据库权限被授予Web服务器帐户,[domain]\[server]$
例如DGM\MyServer$. 我看到有人在这里报告了这个问题 …
从worker/web角色读取设置的最佳方式/推荐方法是什么?
是吗:
CloudConfigurationManager.GetSetting("ConnectionString") (我正在使用)
要么
RoleEnvironment.GetConfigurationSettingValue("ConnectionString")
虽然两者都很好......

我正在编写一个Windows服务,它将为计算机上的其他进程公开一个http RESTful Web服务.这将被部署到我几乎无法控制的各种企业桌面上的许多机器上.我应该如何选择我的服务应该监听哪个端口?
我将使其可配置,但需要知道如何选择一些合理的默认值.
我正计划使用.NET 3.5(由于部署原因无法使用4.0)和使用WCF REST Starter Toolkit的WCF.
更新:澄清一下,这些是企业非开发机器.我想选择一个不太可能用于其他任何东西的端口.我猜这个PORT NUMBERS列表(感谢@Pascal Thivent)我应该在动态/私人范围内选择一个
动态和/或专用端口是49152到65535的端口
那么有没有更好的方法来选择该范围内的端口,或者我只是随机选择?
我想知道是否可以使用单个sqlite语句执行以下操作:
我的表看起来像这样:
|AnId|UserId|SomeDate|SomeData|
|123 |A |1/1/2010|aadsljvs|
| 87 |A |2/9/2010|asda fas|
|193 |A |2/4/2010|aadsljvs|
|927 |A |7/3/2010|aadsasdf|
|816 |B |1/1/2010|aa32973v|
|109 |B |7/5/2010|aaasfd10|
| 39 |B |1/3/2010|66699327|
...
Run Code Online (Sandbox Code Playgroud)
每行都有唯一的ID,用户ID,日期时间值和一些其他数据.
我想删除记录,以便根据SomeDate保留每个用户的最新10条记录.
在SQL Server中我会使用这样的东西:
delete d
from data d
inner join (
select UserId
, AnId
, row_number() over ( partition by UserId order by SomeDate desc )
as RowNum
from data
) ranked on d.AnId = ranked.AnId
where ranked.RowNum > 10
Run Code Online (Sandbox Code Playgroud)
有没有办法在sqlite中执行此操作?有几个具有相同SomeDate的记录的边缘情况并不特别担心,例如,如果我保留所有这些记录都没问题.
我将图像放在水晶报表中(使用Crystal Reports for Visual Studio 2005).图像是带有白色背景的产品徽标,报告也具有白色背景.但是当我运行报告时你可以看到它不是很白.灰白色几乎看不见,但在打印时可见,更是如此.
我尝试了各种图像格式,并尝试了透明图像,但它们似乎不起作用(透明像素显示为黑色).当我使用不同的图像时,我注意到微弱的非白色变化 - 好像它是图像中颜色的函数.
还有其他人遇到过吗?有什么建议?
据我了解,Microsoft 在 2019 年左右创建了 Microsoft.Data.SqlClient作为 System.Data.SqlClient 的替代品。System.Data.SqlClient 将持续受到支持,但新的开发和功能将全部位于 Microsoft.Data.SqlClient 中。这两个库都有一个名为“SqlException”的类。
假设我到处使用 Microsoft.Data.SqlClient 那么大概相关的异常将是 Microsoft.Data.SqlClient.SqlException 类型,但是我使用了一堆第 3 方库,我如何确定它们是否会引发Microsoft .Data.SqlClient.SqlException还是System.Data.SqlClient.SqlException?这是否意味着在某些情况下,我有 Microsoft.Data.SqlClient.SqlException 的捕获处理程序,我还应该检查 System.Data.SqlClient.SqlException?或者是否发生了一些聪明的事情,这意味着我只需要考虑 Microsoft.Data.SqlClient.SqlException?
例如,我有一些旧代码,有点像下面所示,是在我们开始使用 Microsoft.Data.SqlClient 之前编写的。我担心如果我只是将其更改为使用 Microsoft.Data.SqlClient 那么将会出现一些 System.Data.SqlClient.SqlException 异常,并且我的代码将不再注意到它们。
private static bool HandleSqlExceptionInSomeWay(Exception ex)
{
var se = ex as System.Data.SqlClient.SqlException;
if (se != null)
{
// ... do something with the SqlException
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
那么我应该将其更改为类似的内容,即分别检查不同类型吗?
private static bool HandleSqlExceptionInSomeWay(Exception ex)
{
// handle old SqlExceptions (e.g. from …Run Code Online (Sandbox Code Playgroud) 首先,我完全了解这条消息以及为什么它会正常发生.这不是我只是想尝试运行一个DLL(就像这个问题).
我有一个项目编译成一个DLL,但有一个在项目属性中指定的启动程序.大多数时候我可以右键单击项目并选择Debug> Start new instance,它将运行程序并让我调试我的dll.但是,偶尔我会收到此消息(类型库的输出类型的项目无法直接启动),就像我没有启动程序一样.前几次我认为只是我不小心点击了错误的项目,但我确信这不是这种情况,因为它发生了很多次并且我一直小心翼翼地观看它.
当出现此消息时,我可以再次尝试,它始终适用于第二次或第三次尝试.
使用相同解决方案的同事从来没有遇到过这个问题: - /
其他人有这个问题或知道如何解决它?
我正在使用Visual Studio 2005 Pro版本8.0.50727.762(SP.050727-7600)编辑:Visual Studio 2010 也会 发生这种情况
如何计算SQL Azure数据库的当前大小?(不是最大尺寸限制)
几个地方(像这样)建议使用这个sql:
SELECT SUM(reserved_page_count) * 8192
FROM sys.dm_db_partition_stats
Run Code Online (Sandbox Code Playgroud)
但是,当以管理员登录方式执行此操作时,我收到此错误:
Msg 297, Level 16, State 1, Line 1
The user does not have permission to perform this action.
Run Code Online (Sandbox Code Playgroud) 我在2010年开设了2009 C++ sln并运行Visual Studio 2010转换向导.它似乎完成了转换,但是有一个60 MB的.sdf文件创建与我的.sln文件同名(除了扩展名)!之前没有sdf文件.我很确定当我在C#项目上使用向导时,尚未创建此文件.
看起来它是为了帮助转换向导而创建的,但我不明白为什么它在向导完成时就会离开.数据库中的表是:
assoc_spans
assoc_text
base_class_parents
code_item_kinds
code_items
config_files
configs
file_map
file_signatures
files
parsers
projects
properties
refs
symbols
Run Code Online (Sandbox Code Playgroud)
我想我可以删除这个文件?