我需要在C#,web或windows中启动一个项目,以便我可以测试我们的WCF服务。由于我们有很多WCF项目,我有想法让它变得通用,因为否则我可能需要编写一百多个小工具。我的个人感觉 Generic 是必须的。我的想法是根据参数创建控件。
假设我可以使用localhost/Client/GetClientDetail.svc
形式输入网址。
GetClientDetail
方法需要以下参数:
string ClientName
enum Gender
bool IsActive
我想如果在我的form / aspx页面上可以动态生成控件:
string = textbox
enum = Dropdown
bool = Checkbox
您能指出我正确的方向或在线示例吗?我知道可以做到这一点的Windows工具,但我想创建类似的东西,但我自己。原因是,如果我有一个文件,我必须上传到服务,然后我会注意到该参数是byte
类型,然后我可以拥有自己的usercontrol,我可以通过浏览按钮将我的表单选择文件。任何帮助将不胜感激。
答案 0 :(得分:1)
您是否尝试过官方WCF Test Client
?如果我记得正确,它甚至会在您调试中运行WCF服务项目时自动显示,并且它几乎完全符合您的需要。
请参阅此MSDN页面:WCF Test Client (WcfTestClient.exe)
编辑,因为问题已更改为说WcfTestClient不足
您可以使用反射工具(例如IlSpy)来查看Microsoft测试工具的工作原理,它是用.NET本身构建的。我开始环顾四周,找到了Microsoft.Tools.TestClient.Workspace.AddServiceProject(...)
方法。它执行以下操作:
var serviceAnalyzer = new ServiceAnalyzer();
var serviceProject = serviceAnalyzer.AnalyzeService(
endpoint,
addServiceWorker,
startProgress,
progressRange,
out error);
其中endpoint
是包含服务端点Uri的字符串。一旦进入ServiceAnalyzer
,事情变得有趣,并且有点超出了简单的SO答案。这将是一个开始寻找构建自己的测试工具的方法的好地方。