且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在 WCF 中自定义 WebHttp 帮助输出

更新时间:2022-11-19 23:41:23

无法自定义 WCF WebHttp 端点的帮助页面.但是,您可以将其替换为您自己的自定义页面.实现起来很容易,但是要写很多代码.下面的例子展示了如何为一个简单的服务做到这一点.

公共类 ***_7005187{[数据合约]公开课 MyDC{[数据成员]public string str = "字符串";}[服务合约]公共接口 ITest{[网络调用]字符串 EchoString(字符串文本);[网络获取]int Add(int x, int y);[网络调用]MyDC EchoDC(MyDC 输入);[WebGet(UriTemplate = "/help")]消息 GetMainHelpPage();[WebGet(UriTemplate = "/help/operations/EchoDC")]消息 GetOperationsEchoDCHelpPage();//其他未实现操作的帮助}公共类服务:ITest{公共字符串 EchoString(字符串文本){返回文本;}public int Add(int x, int y){返回 x + y;}公共 MyDC EchoDC(MyDC 输入){返回输入;}公共消息 GetMainHelpPage(){字符串页面 = @"<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd""><html xmlns=""http://www.w3.org/1999/xhtml""><头><title>http://localhost:8000/Service</title>上的操作<style>BODY { 颜色:#000000;背景颜色:白色;字体系列:Verdana;左边距:0px;边距顶部:0px;} #content { margin-left: 30px;字体大小:.70em;填充底部:2em;} A:link { 颜色:#336699;字体粗细:粗体;文字装饰:下划线;A:访问过{颜色:#6699cc;字体粗细:粗体;文字装饰:下划线;} A:active { 颜色:#336699;字体粗细:粗体;文字装饰:下划线;} .heading1 { 背景色:#003366;边框底部:#336699 6px 实心;颜色:#ffffff;字体系列:Tahoma;字体大小:26px;字体粗细:正常;边距:0em 0em 10px -20px;填充底部:8px;padding-left: 30px;padding-top: 16px;} pre { font-size:small;背景颜色:#e5e5cc;填充:5px;字体系列:Courier New;边距顶部:0px;边框:1px #f0f0e0 实心;空白:预包装;空白:-预包装;自动换行:断字;} table { 边框折叠:折叠;边框间距:0px;font-family: Verdana;} table th { border-right: 2px white solid;边框底部:2px 白色实心;字体粗细:粗体;背景色:#cecf9c;} 表 td { 右边框:2px 白色实心;边框底部:2px 白色实心;背景颜色:#e5e5cc;}</style>头部><身体><div id=""内容""><p class=""heading1"">http://localhost:8000/Service</p>上的操作<p>该页面描述了该端点的服务操作.</p><表格><tr><th>Uri</th><th>方法</th>描述</tr><tr><td>添加</td><td title=""http://localhost:8000/Service/Add?x={X}&amp;y={Y}""><a rel=""operation"" href=""help/operations/Add"">GET</a></td><td>Service at http://localhost:8000/Service/Add?x={X}&amp;y={Y}</td></tr><tr><td>EchoDC</td><td title=""http://localhost:8000/Service/EchoDC""><a rel=""operation"" href=""help/operations/EchoDC"">POST</a></td><td>服务位于 http://localhost:8000/Service/EchoDC</td></tr><tr><td>EchoString</td><td title=""http://localhost:8000/Service/EchoString""><a rel=""operation"" href=""help/operations/EchoString"">POST</a></td><td>服务在 http://localhost:8000/Service/EchoString</td></tr>