【发布时间】:2012-12-06 15:07:41
【问题描述】:
我有一个运行良好的 asmx WebService,但是当我在浏览器中浏览它时返回一个空白页面。
当我浏览到search.asmx 文件时,我没有得到服务的通常 html 格式描述以及允许您调用服务的测试表单。我得到的只是一个完全空白的页面。 (查看源代码不返回任何内容)。
这发生在 localhost (casini) 和服务器 (IIS 7.5) 上。
有什么方法可以打开它吗?
我的 web.config 如下所示:
...
<system.web>
<httpRuntime requestValidationMode="2.0" enableKernelOutputCache="false"/>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
...
我的服务看起来像这样:
...
[WebService(Namespace = "http://mydomain.edu/something")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class SearchService : System.Web.Services.WebService {
public SearchService() {
}
[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public SearchResponse Search(SearchFilter filter)
{
...
更新:
当我导航到 wsdl search.asmx?wsdl 时出现错误:
System.InvalidOperationException:无法反映方法搜索。 ---> System.InvalidOperationException:出现反映“SearchResult”的错误。 ---> System.InvalidOperationException:有 是反映类型“SearchResponse”的错误。 ---> System.InvalidOperationException:出现错误反映 属性“属性”。 ---> System.InvalidOperationException: 反映类型“USpaceDataAttributes”时出现错误。 ---> System.NotSupportedException:无法序列化类型的成员 USpaceDataAttributes.attributes System.Collections.Generic.Dictionary`2[[System.String, mscorlib, 版本=4.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089],[SimpleTypeData, 实体, Version=1.0.0.0,Culture=neutral,PublicKeyToken=null]],因为它 实现 IDictionary。
我很确定这就是我得到空白页的原因。
【问题讨论】:
标签: web-services asmx