2012年11月29日 星期四

MVC 4 應用程式呼叫WCF

想使用Visual Studio 2012寫個MVC4呼叫WCF的範例,居然出現一個問題。Add Service Reference功能居然不會產生Proxy….Orz…

New – ASP.NET MVC 4 Web Application

image

image

加入一個WCF Service:

image

image

MVC專案-Add Service Reference

image

Discover:

image

oh~YA~看一下工具產生出來的Reference.cs檔案,裏頭居然沒有Proxy程式碼:空空如也~ Config檔案也沒有任何和WCF服務相關的組態設定….ORZ…本來還猜是不是runtime才會產生,結果也不像。

image

只好手動產生proxy 程式碼:執行svcutil 產生proxy與config

image

將output config中的<system.serviceModel>區段複製到

image

MVC專案web.config檔:

image

將產生的service.cs程式加入 MVC專案之中

image

Add Controller

image

image

建立proxy呼叫服務,將執行結果放到ViewBag.result

image

產生view

image

image

印出執行結果

image

按F5執行,可以看到執行結果

image

3 則留言:

Huanlin Tsai 提到...

好怪...在 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

總瀏覽量