问题列表 - 第76页

从.NET服务打印

我正在处理一个项目,涉及从另一个应用程序接收消息,格式化该消息的内容,并将其发送到打印机.选择的技术是C#windows服务.我想,输出可以称为报告,但不需要报告引擎.一个简单的模板引擎,如StringTemplate,甚至XSLT输出HTML都可以.我遇到的问题是找到一种从服务中打印此类输出的免费方法.因为它似乎认为它会工作,我在一个工作原型使用微软的RDLC,填充本地报表,然后使其作为一个图像到内存流,我会再打印.问题是:

  • 多页打印将是一个很大的问题.
  • 还是要用的PrintDocument打印内存流,这是在Windows服务不支持(虽然它可能工作 - 与原型远远没有得到尚)
  • 如果数据发生变化,我必须更改数据集和数据被反序列化的类.坏坏.

有没有人不得不像这样远程做任何事情?有什么建议?我已经发布了一个问题有关打印HTML无需用户输入,并就浪费约3天后,我来,它不能做的结论,至少不与任何免费提供的工具.

所有帮助表示赞赏.

编辑:我们在.NET框架的2.0版本.

.net c# printing windows-services

21
推荐指数
4
解决办法
2万
查看次数

Graphics.DrawString()的中心文本输出

我正在使用.NETCF(Windows Mobile)Graphics类和DrawString()方法将单个字符渲染到屏幕上.

问题是我似乎无法使其正确居中.无论我为字符串渲染的位置的Y坐标设置什么,它总是低于该值,文本大小越大Y偏移越大.

例如,在文本大小12处,偏移量约为4,但在32处,偏移量约为10.

我希望角色垂直占据它所绘制的大部分矩形并水平居中.这是我的基本代码.this引用正在绘制的用户控件.

Graphics g = this.CreateGraphics();

float padx = ((float)this.Size.Width) * (0.05F);
float pady = ((float)this.Size.Height) * (0.05F);

float width = ((float)this.Size.Width) - 2 * padx;
float height = ((float)this.Size.Height) - 2 * pady;

float emSize = height;

g.DrawString(letter, new Font(FontFamily.GenericSansSerif, emSize, FontStyle.Regular),
            new SolidBrush(Color.Black), padx, pady);
Run Code Online (Sandbox Code Playgroud)

是的,我知道我可以使用标签控件来设置居中,但实际上我需要在Graphics课堂上手动完成.

c# graphics compact-framework

58
推荐指数
5
解决办法
11万
查看次数

在gui中包装rsync进度的最佳方法是什么?

我使用rsync以与服务器无关的方式将文件同步到Windows客户端.有什么方法可以将rsync的进度发送到父进程以在gui进度条中显示?

我想有两三种选择.(1)监视STDOUT(2)监视rsync.exe日志文件,类似于unix tail(3)在内存中监视rsync控制台输出.

哪一个最好/首选?

windows user-interface rsync

5
推荐指数
1
解决办法
4863
查看次数

允许用户设置SSH隧道,但没有别的

我想允许用户在特定端口(例如5000)上设置到特定计算机的SSH隧道,但我想尽可能地限制此用户.(身份验证将使用公钥/私钥对).

我知道我需要编辑相关的〜/ .ssh/authorized_keys文件,但我不确定要放入哪些内容(公钥除外).

unix ssh

93
推荐指数
5
解决办法
7万
查看次数

扩展接口模式

.Net 3.5中的新扩展允许从接口拆分功能.

例如在.Net 2.0中

public interface IHaveChildren {
    string ParentType { get; }
    int ParentId { get; }

    List<IChild> GetChildren()
}
Run Code Online (Sandbox Code Playgroud)

可以(在3.5中)成为:

public interface IHaveChildren {
    string ParentType { get; }
    int ParentId { get; }
}

public static class HaveChildrenExtension {
    public static List<IChild> GetChildren( this IHaveChildren ) {
        //logic to get children by parent type and id
        //shared for all classes implementing IHaveChildren 
    }
}
Run Code Online (Sandbox Code Playgroud)

在我看来,这对于许多接口来说是更好的机制.他们不再需要抽象基础来共享此代码,并且功能上代码的工作原理相同.这可以使代码更易于维护和更容易测试.

唯一的缺点是抽象基础实现可以是虚拟的,但可以解决(实例方法是否会隐藏具有相同名称的扩展方法?这会使代码混淆吗?)

没有经常使用这种模式的任何其他原因?


澄清:

是的,我看到扩展方法的趋势是到处都是它们.如果没有大量的同行评审,我会特别小心使用.Net值类型(我认为我们在字符串上唯一的一个是.SplitToDictionary()- 类似于.Split()但也采用键值分隔符)

我认为那里有一个完整的最佳实践辩论;-)

(顺便说一下:DannySmurf,你的PM听起来很可怕.)

我在这里特别询问使用扩展方法,以前我们有接口方法. …

c# extension-methods .net-3.5

24
推荐指数
3
解决办法
1万
查看次数

LINQ初学者指南

在Stack Overflow测试期间,我看到了很多关于LINQ SQL的问题,但对它一无所知......这听起来很有趣.

什么是LINQ,我该如何开始?

链接指南或文档奖金:)

PS:我是一名长期使用Datatables和Parameterized SQL的C#开发人员

linq .net-3.5

36
推荐指数
6
解决办法
2万
查看次数

您最喜欢的编程语言与数据库交互的方式是什么?

有许多方法可以连接数据库层并与之交互.例如,在Java中,常见的用法是原始SQL的JDBC调用,对象关系映射器,JDBCTemplate(Spring),存储过程等.

用您的语言,您喜欢哪个选项?为什么?你什么时候考虑其他人?

database design-patterns

7
推荐指数
0
解决办法
1589
查看次数

有没有人比较LINQ运行性能基准测试

到过去的标准,如nHibernate,旧的定制ORM,或LLBGenPro之类的东西?

另外,运行基准测试后,您的建议是什么?

.net linq performance benchmarking .net-3.5

11
推荐指数
2
解决办法
1941
查看次数

用于后备方案的MySQL复制

当我有两个mysql服务器有不同的工作(持有不同的数据库),但希望能够使用其中一个在另一个失败时插入,你会建议我如何保持它们两者的数据相等"关闭实时"?

显然,不可能每x分钟进行一次完整的数据库转储.

我读过有关二进制日志的信息,这是我需要的方式吗?请问这不会减慢后备服务器的速度吗?有没有办法在二进制日志中不包含一些表 - 数据发生了变化并不重要?

mysql replication fallback binary-log

10
推荐指数
1
解决办法
2447
查看次数

预构建任务 - 删除CruiseControl.NET中的工作副本

我目前正在建立一个持续的集成环境.我们正在使用VisualSVN Server和CrusieControl.NET.有时,构建将失败,并且症状是CruiseControl.NET工作副本中存在冲突.我相信这是由于我设置Visual Studio解决方案的方式.希望我们在这个环境中运行的项目越多,我们对如何设置它们的理解就越好,所以我不会质疑为什么冲突会在这个阶段发生.为了修复构建,我删除了工作副本并强制执行新构建 - 每次(当前)都有效.所以我的问题是:将工作副本删除为持续集成构建过程的有效部分,我该如何解决?

我已经尝试过包括MSTask在内的解决方案,并从命令行调用delete,但我没有运气.

抱歉这么罗嗦 - 好工作这是一个测试版:)

cruisecontrol.net continuous-integration visualsvn-server visual-studio

8
推荐指数
1
解决办法
5636
查看次数