问题列表 - 第13520页

.NET中计费/发票软件设计的最佳实践

我目前正在开展一个项目,我必须为我们公司的新项目设计/实施计费/发票系统.我们将每月生成一次发票作为pdf文件,并向客户发送文件链接.

使用的框架将是.Net 3.5/C#.由于我没有很多从头开始做这方面的经验,我想知道从软件的角度来看是否有一些我应该考虑的最佳实践,这些特定于这种类型的应用程序?

我意识到这个问题可能是非常主观的,但我正在寻找能够牢记的指导方针 - 特别是那些通常会被遗漏或可能不明显的指导方针.

.net financial

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

具有大结果集的WCF方法 - 直观地跟踪传输进度

我有一个WCF服务,必须返回一些可以大到10mb或更多的数据集,我想为用户提供一些视觉反馈,有没有办法跟踪下载进度?

我的客户端是Silverlight 3,最终我希望能够将进度条绑定到此; 有任何想法吗?

编辑:在赏金后,SO自动选择答案,并在不是这种情况下将upvotes作为正确答案.

silverlight wcf progress-bar

2
推荐指数
1
解决办法
2577
查看次数

在PHP中排序JSON数组

如何对ASC中的"名称"字段进行排序,并仅使用php对DESC排序进行排序?

这是我到目前为止所拥有的

$stud = json_encode($arr);
print_r($stud);
Run Code Online (Sandbox Code Playgroud)

哪个输出..

[{"id":1, "name":"Some Name"},
 {"id":4, "name":"Another Name"},
 {"id":9, "name":"Third Name"}]
Run Code Online (Sandbox Code Playgroud)

但这就是我需要的

[{"id":4, "name":"Another Name"},
 {"id":1, "name":"Some Name"},
 {"id":9, "name":"Third Name"}];
Run Code Online (Sandbox Code Playgroud)

我将如何按字母顺序对名称列进行排序json_encode()

php sorting

2
推荐指数
1
解决办法
1148
查看次数

在C中包含源文件

所以我得到了标题与源文件的关系.我没有得到的是编译器如何知道编译所有源文件.例:

example.h

#ifndef EXAMPLE_H
#define EXAMPLE_H

int example(int argument); // prototype

#endif
Run Code Online (Sandbox Code Playgroud)

example.c

#include "example.h"

int example(int argument)
    {
    return argument + 1; // implementation
    }
Run Code Online (Sandbox Code Playgroud)

main.c

#include "example.h"

main()
    {
    int whatever;
    whatever = example(whatever); // usage in program
    }
Run Code Online (Sandbox Code Playgroud)

编译器如何编译main.c,知道example()什么时候没有包含的实现example.c

这是某种IDE的东西,你在哪里添加文件到项目和东西?有没有办法"手动"这样做,因为我更喜欢纯文本编辑器到古怪的IDE?

c header build include

5
推荐指数
2
解决办法
1739
查看次数

帮助排除SqlException故障:在非负载情况下,连接超时

我有一个托管我的网站的服务器几乎没有流量.
一些人(<20)每天进入该网站,一些RSS阅读器订阅了我们推出的一些提要.

几乎每天晚上,一个RSS阅读器都会在半夜打电话给我们,并且由于连接中的超时而导致网站无法连接到SQL Server.细节非常奇怪,所以我正在寻找一些可能出现问题的帮助,因为我不知道从哪里开始寻找.

我们在Windows Server 2008上使用ASP.Net MVC,实体框架和SQL Server 2008.这台机器是我们从一个不完全顶级的提供商那里获得的专用盒子,所以事情可能是非最佳配置,或者谁知道什么其他.
盒子也很小,只有1Gb的RAM,但它应该承担我们现在的那种负载......

我正在复制下面的完整调用堆栈,但首先,我们知道的一些事情:

  • 当iTunes查询我们的网站时,总会发生错误.我相信这应该与任何事情无关,但事实是我们只能从iTunes获得它.我最好的猜测是,这种情况发生是因为只有iTunes在当晚没有其他人打我们的时候询问我们.
  • 我们的一个理论是,SQL Server和IIS正在为内存而战,其中一个是从未被使用中被分页到磁盘,当有人"唤醒它"时,从磁盘上读取所有内容需要很长时间进入记忆.这有可能发生吗?(我有点丢弃这个,因为如果可能的话,它听起来像SQL Server中的设计问题)
  • 我还想到了我们泄漏连接的可能性,因为我们可能没有适当地处理EF实体(请参阅我的问题).这是我通过谷歌搜索问题找到的唯一一件事.鉴于我们的负载极低,我正在抛弃这一点.
  • 这总是发生在整个晚上,所以这很可能与一段时间没有发生任何事情有关.例如,我很确定当这些请求命中时,Web服务器进程被回收并且它正在启动/重新监视所有内容.但是,重新JITting并没有解释SQL超时.

更新:我们按照建议添加了一个分析器,在我们遇到新的异常之前花了很长时间.这是我们所知道的新内容:

  • 将探查器附加到极大地减少了我们得到的错误数量.事实上,通常在每天几次之后,我们不得不等待3或4天才能发生这种情况.一旦我们停止了探查器,它就会恢复到正常的错误频率(甚至更糟).因此,探查器有一定的效果可以在某种程度上隐藏这个问题,但并不完全.
  • 查看IIS请求日志旁边的探查器跟踪,请求和查询之间存在预期的1-1对应关系.但是,我偶尔会看到很多正在执行的查询与IIS日志完全无关.实际上,就在记录实际错误之前,我在3分钟内得到了750个查询,所有查询都与IIS日志完全无关.查询文本看起来像EF生成的那种不可读的废话,并且它们并不完全相同,它们看起来就像来自网站的查询:相同的ApplicationName,User等.想一想这多么荒谬是的,该网站在2天的过程中获得了大约370个IIS请求
  • 这些无法解释的查询并非来自与之前网站相同的ClientProcessID,尽管它们可能仍然来自网站,如果此过程在此期间被回收.在最后解释的查询与第一个无法解释的查询之间有近一个小时没有活动.
  • 在我记录错误之前,我不知道它们来自哪里的长条查询之一就出现了,所以我相信这是我们应该遵循的线索.
  • 正如我原先预期的那样,当执行抛出错误的查询时,它来自与前一个不同的ClientProcessID(比前一个无法解释的一个晚了8分钟,几乎比前一个IIS快一个小时).对我来说,这意味着工人流程确实得到了回收.
  • 这是我绝对不明白的事情.IIS日志显示错误请求前一分钟,4完全服务,尽管这些查询根本没有显示在跟踪中.事实上,在那些顺利完成的4个之后,我有4个例外快速连续抛出,这4个也没有显示在跟踪中(这是有道理的,因为如果有连接超时,查询应该从未执行过,但我没有看到跟踪中的连接尝试)

所以,简而言之,我对这一点完全无能为力.我无法找到那些快速连续运行的数百个查询的原因,但我相信这些问题必须与问题有关.
我也不知道如何诊断连接问题...
或者如果Profiler跟踪可能会丢失一些根据IIS进行的查询...

有任何想法吗?


这是例外信息:

System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

System.Data.EntityException: The underlying provider failed on Open. ---> System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior …
Run Code Online (Sandbox Code Playgroud)

connection timeout sql-server-2008 connection-timeout

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

处理可选的依赖项(C#)

我们有一个可选择与TFS集成的应用程序,但由于集成是可选的,我显然不希望所有机器都需要TFS程序集作为要求.

我该怎么办?

  1. 我可以在我的主程序集中引用TFS库,并确保在使用TFS集成时只引用TFS相关对象.
  2. 或者,更安全的选择是在一些单独的"TFSWrapper"程序集中引用TFS库:

    一个.那么我可以直接引用该程序集(只要我小心我所说的)

    湾 我应该为我的TFSWrapper程序集公开一组接口来实现,然后在需要时使用反射来实例化这些对象.

1对我来说似乎有风险,另一方面2b看起来过于顶层 - 我本质上是建立一个插件系统.

当然必须有一个更简单的方法.

c# dependencies

11
推荐指数
1
解决办法
2459
查看次数

将ColdFusion应用程序从5.0升级到8.0有多难?

我有一台运行ColdFusion 5.0的Windows 2000服务器和一个相当大的遗留应用程序.最初的开发人员早已过去和走了.

服务器需要退役,并且找不到任何ColdFusion媒体.行动过程也将购买ColdFusion 8并使用它(除非有人对替代品有任何建议).

任何人都可以评论ColdFusion 5.0和8.0之间存在多少向后不兼容性吗?我能够只复制和运行网站,还是需要浏览代码更改语法或引用?

coldfusion

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

在Composite WPF(Prism)中,IRegion.Add和IRegionManager.RegisterViewWithRegion有什么区别?

Composite WPF(Prism)中,当向IRegionManger集合添加模块时,使用IRegion.Add和IRegionManager.RegisterViewWithRegion有什么区别?

IRegion.Add

public void Initialize()
{
    _regionManager.Regions["MainRegion"].Add( new ModuleAView() );
}
Run Code Online (Sandbox Code Playgroud)

IRegionManager.RegisterViewWithRegion

public void Initialize()
{
    _regionManager.RegisterViewWithRegion( "MainRegion", typeof( ModuleAView ) );
}
Run Code Online (Sandbox Code Playgroud)

prism cag

14
推荐指数
1
解决办法
4617
查看次数

防止许多不同的MVC URL填充ASP.NET缓存

我们的网站使用ASP.NET MVC作为其中的一部分页面.这些URL的格式通常为http://oursite/detail.mvc/12345/pictures/在此URL中,12345是数据库中的ID.我们有几十万个对象,我们为其显示详细页面.最近我们注意到该网站的内存使用量有所增加,所以我调查了一下.我们对生产站点进行了内存转储,发现大量的内存使用量是由"dmachine/webroot/1/site/detail.mvc/12345/pictures /"和"H"形式的Cache中的字符串引起的. :\网站\ detail.mvc\12345 \图片\".

进一步研究和大量使用Reflector表明这些字符串以System.Web.CachedPathData对象的形式存储在ASP.NET Cache中.这是ConfigurationManager在从web.config文件中读取信息时创建的.它调用HttpContext.GetSection() - > HttpContext.GetConfigurationPathData() - > CachedPathData.GetVirtualPathData().最后,在CachedPathData.GetConfigPathData中,确定所请求路径的虚拟路径,并将其缓存在ASP.NET缓存中而不会过期.

现在麻烦的是我们有数百万个不同的URL,并且对于每个路径,配置系统在缓存中存储了许多字符串(configPath,虚拟路径,物理路径).随着时间的推移,这些信息消耗几百MB,几乎所有缓存中的数据.

我假设当内存稀缺时,这些条目将被删除,但在操作中,它们不信任增长和增长的进程​​.它似乎也非常低效.有没有办法告诉HttpContext不要为每个唯一的URL缓存此信息?或者我们可以先将请求路径映射到一个更简单的URL,然后用它来选择正确的web.config?

.net memory asp.net asp.net-mvc

6
推荐指数
1
解决办法
617
查看次数

DataGridView - AllowUserToAddRows做了什么?

我期待这个设置会影响控件本身,但我似乎无法通过将AllowUserToAddRows设置为true的DataGridView添加新行.我只是垃圾使用我的鼠标和键盘,还是我完全误解了这个属性?我怀疑它是后者,虽然我在文档的方式上找不到太多指向我正确的方向.

编辑:顺便说一句,这不是我的垃圾,它似乎与使用List作为DataGridView的DataSource有关; 如果我绑定到List,那么小'*'就不会出现.

c# datagridview

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