我有一份SSRS 2005报告,我在SSRS 2008中将其作为.pdf呈现.该报告包含(除其他外)一个非常简单的表:标题行,详细信息,没有页脚,没有聚合,没有分组,保持在一起= false,pageBreakAtStart = false,pageBreakAtEnd = false,repeatHeaderOnNewPage = true.为了确保它没有扩展到报告的范围之外,我将表格重新调整为比报告的主体窄得多,将所有内容都推倒了.但是,无论我尝试什么,如果该表中的某些细节行需要被推送到下一页,那么整个表被推送到下一页,而不仅仅是额外的行.
所以我的问题是:这个问题是否有解决方法,这是一个已知问题,还是甚至有可能让这份2005年报告在2008年正确呈现?
注意:这与我之前在此处提出的问题有关,并且是基于同事发起的MSDN论坛帖子.这个问题与我之前的问题不一样,因为我希望看到2005年的报告中的内容正常.如果不可能,那就好了,因为它表明我们需要将我们的一台服务器升级到SQL 2008.
如果我有以下代码:
Style defaultStyle = (Style)FindResource("MyTestStyle");
Run Code Online (Sandbox Code Playgroud)
有没有办法得到样式的名称(即反向查找)?就像是:
string name = defaultStyle.SomeMagicLookUpFunction()
Run Code Online (Sandbox Code Playgroud)
名称将评估为"MyTestStyle".
这可能吗?
我想弄清楚为什么IE在jQuery对象中包装AJAX请求的HTML页面进行处理时泄漏内存.用户可以访问页面并让它静置几分钟或几小时,因此页面ajax每分钟使用几次jQuery 方法来获取新数据,然后我用新的预渲染数据替换页面的重要部分.
在这一点上,我已经将它缩小到一个单独的调用 - 当$(data)被调用来包装HTML字符串,内存峰值一点,并且似乎从来没有被垃圾收集.随着时间的推移,使用了数百MB,我不得不重新加载页面或重新启动IE.
这个小提琴能够重现这个问题.它使用AJAX来请求页面,然后$(data)在紧密循环中调用以夸大泄漏.Chrome和Firefox似乎都像我期望的那样做出反应(内存被回收),但IE表现得很糟糕.惊喜.
使用Process Explorer,我看到在运行上述小提琴后两次内存消耗大幅增加.

我目前正在标准模式下使用IE9.
为什么会这样?有解决方法吗?
这是一个小提琴,演示了不使用AJAX的问题.
控制台,调试和跟踪消息似乎都显示在"输出"窗口中,这在大多数情况下都很好,但我希望单独显示我的跟踪消息(因此它们不会与其他所有内容交错).没有写入文件/日志有没有办法做到这一点?
我知道Red Gate有这样的产品,但我宁愿不用为我认为应该在SSMS中构建的东西买单.谢谢!
(假设一个名为"MyFunction"的WCF方法)
目前,为了支持取消WCF请求,我使用svcutil生成的BeginMyFunction/EndMyFunction方法(并在将结果分派给主线程时处理isCanceled标志).我想使用MyFunctionAsync方法(并挂钩到MyFunctionAsyncCompleted事件)来进行异步调用而不是Begin/End.
如果使用MyFunctionAsyncCompleted,处理取消WCF请求的最佳/支持方式是什么,并且仍然确保不会在不再加载的页面上触发事件(即帧内的页面导航).
谢谢!
编辑:
我已经决定要在每次调用的基础上创建我的WcfClient对象(而不是每个WPF-Page或per-Application),所以这就是我想出来的:
public void StartValidation(){
WcfClient wcf = new WcfClient();
wcf.IsValidCompleted += new EventHandler<IsValidCompletedEventArgs>(wcf_IsValidCompleted);
//pass the WcfClient object as the userState parameter so it can be closed later
wcf.IsValidAsync(TextBox.Text, wcf);
}
void wcf_IsValidCompleted(object sender, IsValidCompletedEventArgs e) {
if(!m_IsCanceled){
//Update the UI
//m_IsCanceled is set to true when the page unload event is fired
}
//Close the connection
if (e.UserState is WcfClient) {
((WcfClient)e.UserState).Close();
}
}
Run Code Online (Sandbox Code Playgroud)
我发现很难弄清楚我刚才实现的建议方法是什么.这是好的,还是我需要担心的陷阱/边缘情况?正确取消WCF呼叫的黄金标准是什么?
我试图找出为什么下面的代码似乎不起作用.它没有给出错误 - 它根本不会缩放.如果我将其更改为我的第二个代码示例,它实际上似乎有效.有人有任何想法吗?
谢谢
public static void StartMouseEnterAnimation(Button button)
{
Storyboard storyboard = new Storyboard();
ScaleTransform scale = new ScaleTransform(1.0, 1.0, 1, 1);
button.RenderTransformOrigin = new Point(0.5, 0.5);
button.RenderTransform = scale;
DoubleAnimation growAnimation = new DoubleAnimation();
growAnimation.Duration = TimeSpan.FromMilliseconds(300);
growAnimation.From = 1;
growAnimation.To = 1.8;
storyboard.Children.Add(growAnimation);
Storyboard.SetTargetProperty(growAnimation, new PropertyPath(ScaleTransform.ScaleXProperty));
Storyboard.SetTarget(growAnimation, scale);
storyboard.Begin();
}
Run Code Online (Sandbox Code Playgroud)
---下面的DOES工作,但我必须创建一个TransformGroup并通过一个更复杂的PropertyChain引用它...
public static void StartMouseEnterAnimation(Button button)
{
Storyboard storyboard = new Storyboard();
ScaleTransform scale = new ScaleTransform(1.0, 1.0, 1, 1);
button.RenderTransformOrigin = new Point(0.5, 0.5);
TransformGroup myTransGroup …Run Code Online (Sandbox Code Playgroud) 我发现使用以下内容:
TreeViewItem i = sender as TreeViewItem;
if(i != null){ ... }
Run Code Online (Sandbox Code Playgroud)
比以下更容易编写和理解:
if(sender.GetType() == typeof(TreeViewItem)){
TreeViewItem i = (TreeViewItem)sender;
...
}
Run Code Online (Sandbox Code Playgroud)
有没有令人信服的理由不使用第一个结构?
我有一个WPF应用程序,其中的连接字符串存储在App.config中.在一次点击部署中加密这些连接字符串的最佳方法是什么?
谢谢
我甚至不确定SQL Server存储此类信息,但是,是否可以获取上次修改特定存储过程,函数,表或视图的人的用户名?
没什么关键,只是想知道.谢谢!
wpf ×4
.net ×3
c# ×2
ajax ×1
animation ×1
as-keyword ×1
asynchronous ×1
autocomplete ×1
casting ×1
clickonce ×1
encryption ×1
history ×1
jquery ×1
memory-leaks ×1
pdf ×1
render ×1
sql ×1
sql-server ×1
ssms ×1
ssrs-2008 ×1
styles ×1
trace ×1
types ×1
wcf ×1