天天看點

修改asmx樣式

大家好,又見面了,我是你們的朋友全棧君。

今天看到一張圖,asmx的WebService。長這樣:

修改asmx樣式

當時就感覺有意思,這個頁面風格和我們平時的不一樣,我們平時的WebService長這樣:

修改asmx樣式

我們如果在WebMetohd上面加注釋,即 [WebMethod(Description = “注釋”)],那麼長這樣:

修改asmx樣式

那麼問題就來了,第一張圖裡面的樣式是如何實作的呢?在浏覽器上進入調試模式觀察,可以發現它的html和我們的有點不一樣~~~~那麼,意味着我們也去修改這個html就可以了。

然後打開一個簡單的WebServce項目,發現找不到一個可以改html的地方,emmmmmmmmm。那麼可以猜想是調用了一個預設的html。配置檔案裡面也沒寫,看來預設還是寫死的。那就隻有上網查資料了!

修改asmx樣式

查了一些資料後,大概了解到了:

“在.net環境下用浏覽器打開.asmx檔案時,實際上是利用了.net提供的測試工具在測試WEB SERVICE,而WEB SERVICE本身一般是不提供GUI的,是以不必關心測試界面的效果,隻要功能實作就可以了。測試界面的一些内容是由WEB SERVICE的屬性決定的,如[WEBSERVICE(Description,Name,Namespace)],WebMethod[Description,MessageName];如果該測試界面的生成檔案是:%SystemRoot%\Microsoft.Net\Framework\<version>\CONFIG\DefaultWsdlHelpGenerator.aspx,可是适當修改”

ok,然後再具體找,發現怎麼改呢,看到網上這麼一個答案:

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

<windir>\Microsoft.Net\Framework\<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(不改名也行,别和路徑下同名檔案沖突就行),改完後把配置項裡面改動配置:

修改asmx樣式

然後調試,發現确實是調用了我自己定義的界面。(我在body裡面加了一行<h1>This is a Test<h1>)

修改asmx樣式

如果想做到博文開頭那樣的效果,既是繼續去修改html了,這些細節本博文就不讨論了。讀者有興趣可以自己去定義一個有特色的WebServce。

釋出者:全棧程式員棧長,轉載請注明出處:https://javaforall.cn/130816.html原文連結:https://javaforall.cn