草庐IT

access-modifiers

全部标签

c# - 在 C#/Windows 中为文件模拟 'access denied'

我正在尝试为读取不同文件的小型C#例程编写集成测试。而且,好吧,我无意中想到进行测试会很棒,它指定了当对该文件的访问被拒绝时的行为。有谁知道在测试沙箱中模拟它的简单好方法吗?我怀疑这可以使用DirectorySecurity,来模拟但是,我不确定是否可以在所有情况下都正确地做到这一点:Assumethat,forexample,Icanstripaccessrulesforthecurrentuser,whichisrunningthetests(andthiswouldalsorequireUAC/Elevation).IguessinthiscaseI'dlosetheabilit

windows - 错误 :access to '/svn/path/' forbidden - Not a case issue

我在另一个国家有一个开发人员从那里访问svn。现在我们的防火墙出了问题,他有一段时间无法访问存储库。现在应该修复防火墙错误,它对其他人再次起作用。但是,这个开发者收到错误“错误:禁止访问'/svn/path/lots-of-numbers'”。当我试图找出原因时,我发现了这个:linktosimilarcase但是,他向我发送了他使用的存储库链接,而且都是小写的,这是应该的。权限也是正确的,我只是仔细检查了它们。问题可能出在防火墙上,或者有人有其他建议吗? 最佳答案 前段时间想通了,但我想我也应该在这里发布它,以防其他人遇到类似问题

c# - 如何在 C# 模块中嵌入 ms-access 表单?

我们开发了一个相当繁重的ms-access应用程序,其中包含大约300个表单(是的!)。由于代码实例化了这些表单(而不只是“打开”它们),我们可以在屏幕上显示同一表单的多个实例。为了绕过VBA的局限性,以及它对继承、接口(interface)、封装等一些面向对象概念的糟糕实现,代码管理:由我们表单的所有事件实例组成的Windows集合。一个“幽灵窗口”对象,它包含我们的代码所需的所有额外属性和方法。因此,举个例子,当我想达到我的一个实例的标准属性时,我可以这样写:MyWindows.accessWindow(hWnd).name其中hWnd是Windows给定的句柄,命名为标准的for

c# - Entity Framework : am I supposed to modify migration classes?

我希望我了解基本的工作流程。首先我创建一个模型,然后我生成一个初始迁移,然后我从中生成一个SQL,好的。我更新了模型,我从中创建了一个新的迁移,并从中创建了一个新的SQL,好的。我假设这是一个单向的工作流程是否正确?如果我以错误的方式更改了迁移类,它将永远不会反射(reflect)在我的模型中,并且如果数据库架构不是它应该的样子,EF永远不会注意到,我只会得到奇怪的异常,对吧?如何确保在修改迁移类时不会导致不一致?我假设我只能做两件事:首先,添加EF不关心的新数据库对象,其次,以最终具有相同架构的方式更改EF生成的迁移代码(例如,如果EF生成一个dropcolumn和addcolumn

c# - Visual C# 2010 速成版 : Specify default access modifier for new classes?

每当我使用VisualStudio2010ExpressC#创建新类时,它都会创建没有访问修饰符的新类。10次中有9次我希望我的新类(class)公开。如何让VisualStudio默认使用“public”修饰符创建空类模板? 最佳答案 诀窍是创建一个名为Class的新项模板。然后,当您执行“添加”>“新建类”时,默认情况下将选择您的模板,而不是内置的类模板。(我不确定这种行为是否得到保证,但它可以在我的机器上运行(TM)。)创建模板:右键单击您的项目并选择“添加”>“类”。您可以接受默认名称(Class1)-这只是一个临时文件。修

c# - 通过 OLEDB 连接到 ACCDB 格式的 MS-ACCESS 数据库

我最近做了anotherquestion关于在C#或VB.NET中使用.NET连接到MS-ACCESS数据库。它在MDB中按预期工作,但在accdb中导致异常conn.Open();如下:alttexthttp://dl.dropbox.com/u/3045472/accdb_fail.png还有其他方法吗?我的初衷(如originalquestion中所述)是收集一些(实际上,很多)字段。 最佳答案 使用ACE4驱动,下载here然后使用以下连接字符串:"Provider=Microsoft.ACE.OLEDB.12.0;Data

c# - 使用 SmtpClient 发送电子邮件时的故障排除 "Mailbox unavailable. The server response was: Access denied - Invalid HELO name"

我一直在尝试通过C#发送电子邮件。我在Google上搜索了各种示例,并从每个示例和每个人最有可能使用的标准代码中提取了点点滴滴。stringto="receiver@domain.com";stringfrom="sender@domain.com";stringsubject="HelloWorld!";stringbody="HelloBody!";MailMessagemessage=newMailMessage(from,to,subject,body);SmtpClientclient=newSmtpClient("smtp.domain.com");client.Crede

C# - 在此示例中改进属性封装?

我知道错误“集合访问器的可访问性修饰符必须比属性或索引器更具限制性”。我也知道解决方法。只是不是在这个非常具体的案例中。考虑这个例子:internalvirtualboolIsFocused{get{returnisFocused;}protectedset{isFocused=value;}}privateboolisFocused;显示错误。我只是不知道为什么。如何“保护”不低于内部?这个问题的解决方案是什么?我尝试改用“内部保护”,但运气不佳。 最佳答案 事实证明,protected比internal更可访问。回想一下,int

c# - 线程专有数据 : how to store and access?

在.NET中是否有可能将对象实例绑定(bind)到线程的当前执行上下文?这样我就可以在代码的任何部分执行类似CurrentThread.MyObjectData.DoOperation()的操作并确保我访问特定于线程的数据?谢谢! 最佳答案 你可以看看ThreadStaticAttribute.另一个有用的方法是SetData/GetData这允许您存储与当前线程相关的数据。 关于c#-线程专有数据:howtostoreandaccess?,我们在StackOverflow上找到一个类似

c# - access中插入记录到数据库后如何获取最后一条记录号

我有自动增加字段(ID)的Access数据库。我像这样插入记录(在C#中)SQL="insertintoTermNumTbl(DeviceID,IP)values('"+DeviceID+"','"+DeviceIP+"')";OleDbCommandCmd=newOleDbCommand(SQL,Conn);Cmd.ExecuteNonQuery();Cmd.Dispose();Conn.Close();如何获取最后插入的号码?我不想运行新查询我知道在sql中有类似SELECT@@IDENTITY的东西但是我不知道怎么用提前致谢 最佳答案