我使用C#.NET开发了一个Windows服务来生成PDF报告.要生成PDF文件,我使用的是第三方dll.该应用程序在我的Windows XP平台上运行.当我在Windows Server 2008 64位版本中部署该服务时,我收到此错误:
由于以下错误,检索具有CLSID {46521B1F-0A5B-4871-A4C2-FD5C9276F4C6}的组件的COM类工厂失败:80040154.
我使用regsvr32命令注册了DLL.我能够在注册表中看到这个CLSID.但问题仍然存在.
可能是什么问题呢?
我试图找到在Visual Studio代码中复制一行的快捷方式(我正在使用1.3.1)我尝试了明显的CTRL+ D但这似乎不起作用.
我知道......我知道......性能不是这里的主要关注点,但只是出于好奇,哪个更好?
bool parsed = int.TryParse(string, out num);
if (parsed)
...
Run Code Online (Sandbox Code Playgroud)
要么
try {
int.Parse(string);
}
catch () {
do something...
}
Run Code Online (Sandbox Code Playgroud) 有没有办法检查一个byte []是不是打开的pdf?
我有一些代码来显示byte []列表作为pdf缩略图.我以前知道所有byte []都是pdf的,因为我们过滤了servlet只返回这些.现在需求已经改变,我需要恢复所有文件类型.有没有办法检查字节[]是什么,或更具体地确定它是不是,pdf?
如何创建DataSet手动填充的?即.填写代码或用户输入.我想知道所需的步骤,如果我需要创建一个DataTable或DataRow第一个,我真的不知道填写的步骤DataSet.
自从微软推出应用程序块以来,我一直在碰到使用异常处理应用程序块的人.我最近对自己进行了仔细研究,并总结了如下基本功能(如果您已经知道它的作用,请跳过以下块):
异常处理应用程序块旨在集中并使配置文件完全配置以下关键异常处理任务:
- 记录异常
- 替换例外
- 包装例外
- 传播例外
- 等等
该库通过修改try catch块来实现,如下所示:
Run Code Online (Sandbox Code Playgroud)try { // Run code. } catch(DataAccessException ex) { bool rethrow = ExceptionPolicy.HandleException(ex, "Data Access Policy"); if (rethrow) { throw; } }根据app.config中为策略名称指定的内容(请参阅此处的文档),HandleException将...
- 抛出一个全新的异常(替换原来的异常)
- 将原始异常包装在一个新异常中并抛出它
- 吞下异常(即什么都不做)
- 你有没有重新抛出原来的例外
此外,您还可以将其配置为预先执行更多操作(例如,记录异常).
现在这是我的问题:我完全没有看到如何替换,包装,吞下或重新抛出异常使其可配置是多么有益.根据我的经验,这个决定必须在您编写代码时做出,因为在更改异常处理行为时,您通常必须更改周围或调用代码.
例如,当您重新配置时,您的代码可能会开始行为不正确,以至于现在吞下特定点抛出的特定异常而不是重新抛出(可能在发生异常时不能执行catch块之后的代码).对于异常处理中的所有其他可能的更改也是如此(例如,替换 - >重新抛出,吞下 - >换行).
所以,对我来说,底线是异常处理块解决了实际上根本不存在的问题.异常记录和通知位很好,但是并非所有其他东西都只是过度工程的完美示例吗?
.net enterprise-library exception-handling application-blocks
我一直在阅读几本书中的依赖属性,但都有一个共同点,它们只是告诉我们它们是如何实现的(使用static readonly DependencyProperty等),但没有告诉它们从内部工作的确切方式.
我的意思是它们被实现为静态但仍然适用于所有对象.
第二点混淆是附加属性.
有没有可以轻松解释所有这些概念的教程?
我用的是EF4.
希望我的问题不是太微不足道:
What is the difference between a Navigation Property and an Association in EF?
Run Code Online (Sandbox Code Playgroud)
如果你能用一个例子给我一个简单的解释,那将非常感谢!
使用Enterprise Library 6.0时,以下代码中会出现此错误:
bool rethrow = ExceptionPolicy.HandleException(ex, "ReplacePolicy1")
Run Code Online (Sandbox Code Playgroud)
"必须使用SetExceptionManager方法在ExceptionPolicy类中设置ExceptionManager."
在Enterprise Library 5.0中,此代码有效:
public static bool HandleException(Exception exception, string PolicyName)
{
ExceptionManager exManager = EnterpriseLibraryContainer.Current.GetInstance<ExceptionManager>();
ExceptionPolicy.SetExceptionManager(exManager);
bool rethrow = ExceptionPolicy.HandleException(ex, "ReplacePolicy1");
return reThrow;
}
Run Code Online (Sandbox Code Playgroud)
但是在Enterprise Library 6.0中找不到EnterpriseLibraryContainer类.我想要获取ExceptionManager的实例.我该如何解决这个问题?
我已经创建了一个下载文件的处理程序.如果文件不存在或用户无权下载该特定文件,我想返回404错误.
可能吗?如果有,怎么样?示例代码将不胜感激.