close
文章出處
今天一時興起,準備在做個Silverlight程序玩玩。但是遇到了2個問題,廢了好幾天的時間(幸好不是好幾個全天)才解決,發現自己很笨……
1、在從Silverlight項目中添加普通的Web服務引用時,Visual Studio報錯:“相對URI不支持此操作”,然后我看引用是添加上了的,在代碼中使用什么的都沒有問題,但是一到運行時就會拋出異常。最后發現問題出在自動生成的“ServiceReferences.ClientConfig”文件,原來的內容是:
<bindings>
<basicHttpBinding>
<binding name="UserServiceSoap" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<security mode="None">
<transport>
<extendedProtectionPolicy policyEnforcement="Never" />
</transport>
</security>
</binding>
</basicHttpBinding>
</bindings>
<basicHttpBinding>
<binding name="UserServiceSoap" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<security mode="None">
<transport>
<extendedProtectionPolicy policyEnforcement="Never" />
</transport>
</security>
</binding>
</basicHttpBinding>
</bindings>
需要去掉security節的子節點,變成下面那樣就可以了:
<bindings>
<basicHttpBinding>
<binding name="UserServiceSoap" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<basicHttpBinding>
<binding name="UserServiceSoap" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
2、解決了上面的問題之后,在運行時,又開始報下面這個錯誤:
The remote server returned an error: NotFound
但是我的各種配置都沒有問題,不明白NotFound是個什么概念。最后發現,是因為我的Web方法中會有意通過異常來反饋一些異常情況,而這個異常的拋出就導致這個NotFound的產生,暈啊,這錯誤提示的驢唇不對馬嘴。解決方法就是為Web方法增加一個out參數,如果產生了異常,則通過這個out參數反饋。
不含病毒。www.avast.com |
全站熱搜
留言列表