如何对每个WCF超时设置的效果进行单元测试?我想确保选择好的值,并且还要确保我的异常处理代码是可靠的.
我创建了客户端程序和服务器WCF服务来测试超时设置.在我的服务实现中,我添加了一个Thread.Sleep(5000).在客户端,导致超时发生的唯一设置是sendTimeout.
无论我在所有其他设置中使用哪个值,都不会发生超时.如何测试所有其他设置?
以下是我要测试的设置:sendTimeout,receiveTimeout,closeTimeout,openTimeout和inactivityTimeout(在reliableSessions中).
编辑2009年2月19日:此编辑仅表示我仍未找到单元测试WCF超时设置的方法.
我们使用SQL Server 2005.我们所有的数据访问都是通过存储过程完成的.我们的选择存储过程总是返回多个结果集.
例如:
CREATE PROCEDURE hd_invoice_select(@id INT) AS
SELECT * FROM Invoice WHERE InvoiceID = @id
SELECT * FROM InvoiceItem WHERE InvoiceID = @id
SELECT * FROM InvoiceComments WHERE InvoiceID = @id
RETURN
Run Code Online (Sandbox Code Playgroud)
我们的应用程序的数据访问层基于结果(O/R Mapper样式)构建对象图.
我遇到的问题是我们有许多不同的发票选择存储过程.它们都返回相同的结构,仅用于不同的选择标准.例如,我也有:
CREATE PROCEDURE hd_invoice_selectAllForCustomer(@customerID INT) AS
SELECT * FROM Invoice WHERE CustomerID = @customerID
SELECT * FROM InvoiceItem WHERE InvoiceID IN
(SELECT InvoiceID FROM Invoice WHERE CustomerID = @customerID)
SELECT * FROM InvoiceComments WHERE InvoiceID = @id
(SELECT InvoiceID FROM Invoice WHERE CustomerID = …Run Code Online (Sandbox Code Playgroud) 我有一个HTML页面,我从数据库中包含的数据生成.数据库有时包含浏览器无法破解的长字符串,因为字符串不包含可破坏的字符(空格,点,逗号等).
有没有办法解决这个使用HTML,CSS甚至JavaScript?
有关问题的示例,请参阅此链接.
我开始使用IronPython实现学习Python.我现在想做一些网络开发.我正在寻找一个适用于Microsoft技术堆栈(IIS + MS SQL Server)的python Web开发框架.Django看起来像一个有趣的框架,但基于我所读到的,让它在Microsoft技术堆栈上工作似乎非常困难或不可能.
我想利用一个利用python优势的Web框架,因此ASP.NET不是一个选项.
我想在完整的Microsoft堆栈上执行Python的原因是:
有什么建议?
假设:
如上所述这里,合并过程改变了工作目录的状态.
在我的场景中,我不想放弃工作目录中未提交的更改,因为此时我对更改MyRepo的状态感兴趣; 不是我工作目录的状态.
有没有办法完成合并过程,包括手动解决冲突,而不影响我的工作目录的内容?此过程只能在临时文件中完成吗?或者我应该搁置我的更改,进行合并然后取消保留以将我的工作目录恢复到合并之前的状态?
hg commit如果输入了错误的信息,有没有办法重写消息?我们在提交变更集时始终包含我们的错误ID.例如:
hg commit -m "Bug 14585: LastName field should be mandatory"
但是,如果我输入了错误的错误ID,有没有办法(通过扩展可能)修改注释,一旦变更集已经提交并推送到中央仓库?
我用rails HelloWorld命令创建了一个hello world app .我最终得到了许多目录:
这些都应该在源头控制之下吗?什么是.hgignoreRuby on Rails应用程序文件夹的优秀默认文件?
我们有一个WinForms应用程序,我们正在逐步转换为WPF.此时应用程序的主窗体是一个Form(WinForms),它包含一个用WPF构建的垂直侧边栏.侧栏托管在ElementHost控件中.
侧边栏由包含其他控件的ScrollViewer组成.问题是,当焦点位于WinForms aera中的某个位置并且我在ScrollViewer上使用鼠标滚轮时,它不会滚动.
这与WPF/WinForms集成有关,因为在100%WPF项目中,即使焦点在另一个控件上,ScrollViewer也会对鼠标滚轮作出反应.
解决这个问题的正确方法是什么?
我试图理解角度世界和非角度世界之间的相互作用.
给出一个声明如下的指令:
<dir1 id="d1" attr1="100"/>
Run Code Online (Sandbox Code Playgroud)
如果angular之外的代码以这种方式更改指令:
$("#d1").attr("attr1", 1000);
Run Code Online (Sandbox Code Playgroud)
指令怎么知道它的一个属性已经改变了?
我们在IIS中托管了WCF服务,在服务器上运行.该服务连接到另一台服务器上运行的SQL Server实例.在我们的代码中,我们打开并关闭每个请求的连接.WCF服务每分钟向数据库发出几个请求.
如果我在不停止WCF服务的情况下重新启动SQL服务,则WCF服务会开始将错误记录到错误日志中,这是完全正常的.
问题是,有时(并非总是),在SQL服务重新启动后,WCF服务会继续在每个请求上报告此错误:
Cannot open database "mydatabase" requested by the login. The login failed."
Run Code Online (Sandbox Code Playgroud)
错误的堆栈跟踪结束于:
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.SqlClient.SqlConnection.Open()
Run Code Online (Sandbox Code Playgroud)
在发生这种情况时,我可以使用SQL Management Studio(来自运行WCF服务的同一台机器)连接到数据库.要解决此问题,我必须为我的WCF服务回收应用程序池.
所以我的问题是:什么可以导致这个,我该怎么做才能确保我的应用程序可以从SQL重启中恢复?
PS:在我的开发盒(也运行IIS)上,当我进行相同的测试时,我得到相同的错误几次(当数据库开始加载时我猜)然后它再次开始工作.
mercurial ×3
sql-server ×2
ado.net ×1
angularjs ×1
code-reuse ×1
css ×1
html ×1
ironpython ×1
javascript ×1
python ×1
sql ×1
sqlclient ×1
timeout ×1
unit-testing ×1
wcf ×1
winforms ×1
wpf ×1