修改asmx样式

2022-08-11 17:59:37 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

今天看到一张图,asmx的WebService。长这样:

当时就感觉有意思,这个页面风格和我们平时的不一样,我们平时的WebService长这样:

我们如果在WebMetohd上面加注释,即 [WebMethod(Description = “注释”)],那么长这样:

那么问题就来了,第一张图里面的样式是如何实现的呢?在浏览器上进入调试模式观察,可以发现它的html和我们的有点不一样~~~~那么,意味着我们也去修改这个html就可以了。

然后打开一个简单的WebServce项目,发现找不到一个可以改html的地方,emmmmmmmmm。那么可以猜想是调用了一个默认的html。配置文件里面也没写,看来默认还是写死的。那就只有上网查资料了!

查了一些资料后,大概了解到了:

“在.net环境下用浏览器打开.asmx文件时,实际上是利用了.net提供的测试工具在测试WEB SERVICE,而WEB SERVICE本身一般是不提供GUI的,所以不必关心测试界面的效果,只要功能实现就可以了。测试界面的一些内容是由WEB SERVICE的属性决定的,如[WEBSERVICE(Description,Name,Namespace)],WebMethod[Description,MessageName];如果该测试界面的生成文件是:%SystemRoot%Microsoft.NetFramework<version>CONFIGDefaultWsdlHelpGenerator.aspx,可是适当修改”

ok,然后再具体找,发现怎么改呢,看到网上这么一个答案:

“By default .Net framework provides a default DefaultWsdlHelpGenerator.aspx under

<windir>Microsoft.NetFramework<version>Config

you can override it in your application by change the web.config.

<?xml version=”1.0″ encoding=”utf-8″?>

<configuration>

<system.web>

<webServices>

<wsdlHelpGenerator href=”MyServiceDescriptionGenerator.aspx”/>

</webServices>

</system.web>

</configuration>

Hope this helps”

ok,问题就明确了,确实是调用了一个默认的aspx,并且我们可以通过配置

<webServices>

<wsdlHelpGenerator href=”MyServiceDescriptionGenerator.aspx”/>

</webServices>

的方式来指定调用那个界面。然后我找这个路径找了好久(我电脑上Framework版本太多了),后来转念一想,我何苦去找呢,我自己写一个,然后把配置路径配全路径就行了~

于是乎,我随便找了个DefaultWsdlHelpGenerator.aspx,然后复制出来改名为my.aspx(不改名也行,别和路径下同名文件冲突就行),改完后把配置项里面改动配置:

然后调试,发现确实是调用了我自己定义的界面。(我在body里面加了一行<h1>This is a Test<h1>)

如果想做到博文开头那样的效果,既是继续去修改html了,这些细节本博文就不讨论了。读者有兴趣可以自己去定义一个有特色的WebServce。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130816.html原文链接:https://javaforall.cn

0 人点赞