想使用Visual Studio 2012寫個MVC4呼叫WCF的範例,居然出現一個問題。Add Service Reference功能居然不會產生Proxy….Orz…
New – ASP.NET MVC 4 Web Application
加入一個WCF Service:
MVC專案-Add Service Reference
Discover:
oh~YA~看一下工具產生出來的Reference.cs檔案,裏頭居然沒有Proxy程式碼:空空如也~ Config檔案也沒有任何和WCF服務相關的組態設定….ORZ…本來還猜是不是runtime才會產生,結果也不像。
只好手動產生proxy 程式碼:執行svcutil 產生proxy與config
將output config中的<system.serviceModel>區段複製到
MVC專案web.config檔:
將產生的service.cs程式加入 MVC專案之中
Add Controller
建立proxy呼叫服務,將執行結果放到ViewBag.result
產生view
印出執行結果
按F5執行,可以看到執行結果
3 則留言:
好怪...在 Add Service Reference 對話窗裡面,點 Advanced 按鈕,取消勾選 Reuse types in referenced assemblies,這樣就會正常產生 proxy class。
我在 stackoverflow.com 上面看到的,試了之後,果然可以。bug...
居然有這招! 謝了,收下!!
http://www.naveenbhat.in/2013/07/mvc-4-wcf-add-service-reference.html
張貼留言