我的SQL Reporting Services报告存在问题.我正在为报表标题使用自定义字体,当部署到服务器时,我打印或导出到PDF/TIFF时无法正确呈现.我在服务器上安装了字体.为了使用自定义字体,还有什么我需要做的吗?
在浏览器中查看字体时,它看起来是正确的 - 因为所有客户端计算机都安装了字体...
谢谢Ryan,你在FAQ上的帖子解决了这个问题.在服务器上安装字体可以解决打印问题以及图表问题(也可以在服务器上呈现).就像你指出的那样(以及FAQ中提到的)Reporting Services 2005不会在PDF文件中进行字体嵌入.我想现在还可以 - 最重要的部分是能够打印并获得正确的字体.
字体没有立即显示的原因在FAQ中回答:
问:我已经在我的客户端/服务器上安装了该字体,但我仍然看到了?或黑盒子.为什么?答:对于客户端计算机,关闭PDF查看器的所有实例然后重新打开它们应该可以解决问题.
对于服务器,重新启动服务应允许PDF呈现器获取新的字体信息.
不幸的是,我还看到过需要重启整机才能让客户端/服务器识别新安装的字体的时间.
继我最近关于大型复杂对象作为Web服务结果的问题之后.我一直在考虑如何确保所有未来的子类都可以序列化为XML.
现在,显然我可以实现IXmlSerializable接口然后读取它的读者/写入器,但我想避免它,因为它意味着我需要在我想要的时候实例化读写器,并且99.99%的时间我将使用字符串,所以我可能只写自己的字符串.
但是,要序列化为XML,我只是用Xml来装饰类及其成员??? 属性(XmlRoot,XmlElement等),然后将其传递给XmlSerializer和StringWriter以获取字符串.这一切都很好.我打算把方法返回到一个通用的实用工具方法,所以我不需要担心类型等.
我担心的是:如果我没有使用必需的属性装饰类,则在运行时才会抛出错误.
有没有办法强制执行属性修饰?可以用FxCop完成吗?(我还没用过FxCop)
很抱歉让这个关闭的人有很多关闭,很多事要做!
绝对喜欢在测试用例中使用反射来实现它的想法,而不是诉诸于FxCop(喜欢把所有东西放在一起).. Fredrik Kalseth的答案很棒,感谢包含代码,因为它可能会让我有点挖掘弄清楚自己该怎么做!
+1给其他人类似的建议:)
我知道它可以做到,我甚至对如何做到这一点有一个模糊的想法,但它停止在模糊.
我有一个标准的HTML图像标记,其中包含一个100 x 100像素的图像.我希望人们能够点击图像,然后将他们点击的X和Y传递给一个函数.
坐标需要相对于图像的顶部和左侧.
预先感谢您的任何帮助.
如何检查file permissions
,而不必通过passthru()
或运行特定于操作系统的命令exec()
?
在我们的工作中,另一个讨论(我们现在已经有很多这些了!)是数据绑定是否是一个坏主意.
就个人而言,我认为这是一件坏事.
我的理由是三次:
它绕过了我的架构良好的MVP框架 - 通过数据绑定,视图与模型双向通信.EWWW.
它促进了在设计时将视图控件连接到数据域.根据我的经验,这导致重要的代码(将A列绑定到字段X)在某些设计器文件中被隐藏起来并隐藏起来.IMO这段代码应该是明确的并且是面对面的,因此很容易修改并查看正在发生的事情,而不必使用笨重的设计器界面.
与Point#1相关,这种直接绑定使得隔离每个组件(视图,模型,控制器/演示者)和单元测试变得更加困难.
优点是它易于设置,您可以利用已经为您完成的管道附带的一些不错的功能(验证等).
但对我来说,在处理大型以数据为中心的应用程序时,数据绑定变得更加困难.
有什么想法吗?
我一般使用手动过程:
有更好的方法,还是工具?
我正在尝试使用Apache 2.2 VirtualHost声明中的mod_rewrite将所有请求重定向到我的域到另一个域.有一个例外 - 我希望/audio
路径中的所有请求都不会被重定向.
我写了一个RewriteCond和RewriteRule来做到这一点,但它不太正确,我无法弄清楚为什么.正则表达式包含字符串"/ audio"的负前瞻,但由于某种原因,这不匹配.这是定义:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*\.)?mydomain\.net(?!/audio) [NC]
RewriteRule ^(.*)$ http://www.newdomain.net [L,R=301]
Run Code Online (Sandbox Code Playgroud)
如果我将RewriteCond更改为:
RewriteCond %{HTTP_HOST} ^(.*\.)?mydomain\.net/(?!audio) [NC]
Run Code Online (Sandbox Code Playgroud)
(即将正斜杠放在负前瞻部分之外)然后它可以正常工作,但这样做的缺点是不会重定向到没有尾部斜杠的mydomain.net请求.
谁能指出我做错了什么?
(注意:上面的RewriteRule位中的域周围的尖括号是由StackOverflow.com添加的 - 它们在实际代码中不存在!)
以下是规则:
<VirtualHost *:80>
ServerAdmin me@mydomain.net
DocumentRoot "/var/www/mydomain.net/htdocs"
ServerName www.mydomain.net
ServerAlias mydomain.net
RewriteEngine on
RewriteCond {REQUEST_URI} !^/audio
RewriteRule ^(.*)$ http://www.newdomain.net [L,R=301]
RewriteLog logs/mod_rewrite_log
RewriteLogLevel 3
ErrorLog logs/error_log
CustomLog logs/access_log common
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
谢谢@mercutio - 这很有道理,但它似乎仍然不起作用.
当我向http://mydomain.net/audio/something.mp3发出请求时,这是mod_rewrite日志所说的内容:
(2) init rewrite engine with requested uri /audio/something.mp3
(3) applying pattern '^(.*)$' to …
Run Code Online (Sandbox Code Playgroud) 我正在阅读Ayende的书中的示例章节,在Boo语言的网站上,我看到了对Spectre BDD框架的引用.
我想知道是否有人在他们的项目中使用它,如何工作以及是否有更多的例子和/或建议的读数.
如果您想知道,我是C#开发人员,所以我计划在C#/ .NET环境中使用它.
我在C#中有一个"Status"类,使用如下:
Status MyFunction()
{
if(...) // something bad
return new Status(false, "Something went wrong")
else
return new Status(true, "OK");
}
Run Code Online (Sandbox Code Playgroud)
你明白了.MyFunction的所有调用者都应检查返回的状态:
Status myStatus = MyFunction();
if ( ! myStatus.IsOK() )
// handle it, show a message,...
Run Code Online (Sandbox Code Playgroud)
然而,懒惰的呼叫者可以忽略状态.
MyFunction(); // call function and ignore returned Status
Run Code Online (Sandbox Code Playgroud)
要么
{
Status myStatus = MyFunction();
} // lose all references to myStatus, without calling IsOK() on it
Run Code Online (Sandbox Code Playgroud)
有可能使这不可能吗?例如抛出异常
一般来说:是否可以编写一个C#类,您必须在其上调用某个函数?
在Status类的C++版本中,我可以在析构函数中对某些私有bool bIsChecked编写测试,并在有人不检查此实例时响铃.
C#中的等价选项是什么?我在某处读到"你不想在你的C#类中使用析构函数"
IDisposable接口的Dispose方法是一个选项吗?
在这种情况下,没有非托管资源可供免费使用.此外,GC 不会确定何时处置该对象.当它最终被处置时,是否仍然可以知道忽略该特定Status实例的位置和时间?"using"关键字确实有帮助,但同样,懒惰的调用者 …
c# ×3
html ×2
.net ×1
apache ×1
bdd ×1
boo ×1
coding-style ×1
css ×1
data-binding ×1
destructor ×1
dispose ×1
hgignore ×1
image ×1
javascript ×1
mercurial ×1
mod-rewrite ×1
php ×1
sql ×1
xml ×1