C# 基于wcf服务的属性创建控件
我需要启动一个基于C#、web或windows的项目,以便测试我们的WCF服务。由于我们有很多WCF项目,我有一个想法,试图使它通用,因为否则我可能不得不写超过一百个小工具。对于我个人来说,通用性是必须的。我的想法是根据参数创建控件 假设我可以以C# 基于wcf服务的属性创建控件,c#,.net,wcf,C#,.net,Wcf,我需要启动一个基于C#、web或windows的项目,以便测试我们的WCF服务。由于我们有很多WCF项目,我有一个想法,试图使它通用,因为否则我可能不得不写超过一百个小工具。对于我个人来说,通用性是必须的。我的想法是根据参数创建控件 假设我可以以localhost/Client/GetClientDetail.svc的形式输入url GetClientDetail方法需要以下参数: string ClientName enum Gender bool IsActive 我希望在我的表单/asp
localhost/Client/GetClientDetail.svc
的形式输入url
GetClientDetail
方法需要以下参数:
string ClientName
enum Gender
bool IsActive
我希望在我的表单/aspx页面上可以动态生成控件:
string = textbox
enum = Dropdown
bool = Checkbox
你能给我指一下正确的方向吗?或者网上的一个例子。我知道windows工具可以做到这一点,但我想自己创建类似的东西。原因是,如果我有一个必须上传到服务的文件,那么我会注意到参数的类型是
byte
,然后我可以拥有自己的usercontrol,我可以通过浏览按钮来选择文件。任何帮助都将不胜感激。您是否尝试过官方的WCF测试客户端
?如果我记得正确的话,当您在调试中运行WCF服务项目时,它甚至会自动显示,并且它几乎完全满足您的需要
请参阅此MSDN页面:
编辑,因为问题更改为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答案来说有点超出范围。这将是一个开始寻找构建您自己的测试工具的方法的好地方