簡體   English   中英

MVC應用中的Web服務

[英]Web Service in MVC app

我對MVC應用程序中包含的Web服務有很大的疑問。 我制作了一個MVC應用,並將其托管在IIS 7.0上。 一切正常。 比我必須將Web Service(當然,它可能是WCF,現在已經存在WS)添加到該項目中。 因此,在Visual Studio 2010中,我添加了新項,為當前項目選擇了Web服務。 在開發機上,可以。 一切都很好。 但是,當我嘗試將整個項目發布到IIS(位於另一台服務器上)時,MVC應用程序看不到WS。

這就是我在MVC中稱呼WS的方式:

 $('#test').click(function test2() {
     alert('start');

     $.ajax({
         type: "POST",
         url: "/../WebServicePrzeczytany.asmx/HelloWorld",
         data: "{}",
         dataType: "xml",

         success: function suc(msg) {
                alert("recieved: " + msg.text);
                 },
         faild: fail
     });

     alert('stop');
 });

 function fail() {
     alert("doesn't work");
 };

如您所見,它是jquery。 但是我的問題是:為什么它不起作用? 我應該在IIS上設置或配置某些東西嗎?

如有任何幫助或提示,我將不勝感激。

馬辛

您的Web服務網址不正確。 “ /../WebServicePrzeczytany.asmx/HelloWorld”,您的應用應指向已發布的Web服務,而不是上面的相對URL。 網址應類似於http://someipaddressordomainname/WebServicePrzeczytany.asmx/HelloWorld

您的網址看起來很奇怪。 在發布之前,您是否嘗試過指定絕對URL( http://example.com/some/path/WebServicePrzeczytany.asmx/HelloWorld )?

您正在執行的方法違反了跨域策略,即您通過javascript調用或執行對Web服務的客戶端調用。 但是,如果您要滿足以下條件,那么如果要使用JSONP通過ajax執行或調用服務,則已經存在一種方法:

* 您可以控制您的Web服務代碼,即可以修改代碼並針對JSONP對其進行自定義

* 您將所有Web服務響應都包裝到JSONP回調中。

有關更多信息,請參見http://api.jquery.com/jQuery.ajax/

沒有JSONP,它將在本地運行,但是如果您處於實時環境中,將無法正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM