asmx页面是空白但WebService正在运行

时间:2012-12-06 15:07:41

标签: web-services asmx

我有一个完美运行的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:无法反映方法搜索。   ---&GT; System.InvalidOperationException:反映'SearchResult'时出错。 ---&GT; System.InvalidOperationException:那里   是一个反映类型'SearchResponse'的错误。 ---&GT;   System.InvalidOperationException:反映出错   财产'属性'。 ---&GT; System.InvalidOperationException:   反映类型'USpaceDataAttributes'时出错。   ---&GT; System.NotSupportedException:无法序列化类型的成员USpaceDataAttributes.attributes   System.Collections.Generic.Dictionary`2 [[System.String,mscorlib,   版本= 4.0.0.0,文化=中立,   PublicKeyToken = b77a5c561934e089],[SimpleTypeData,Entities,   Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]],因为它   实现IDictionary。

我很确定这是为什么我得到一个空白页面。

1 个答案:

答案 0 :(得分:2)

尝试

<add name="Documentation"/>