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>

需要去掉security節的子節點,變成下面那樣就可以了:

<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
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 AutoPoster 的頭像
    AutoPoster

    互聯網 - 大數據

    AutoPoster 發表在 痞客邦 留言(0) 人氣()