/ / Web Service v aplikácii MVC - c #, asp.net-mvc, webové služby

Webová služba v aplikácii MVC - c #, asp.net-mvc, webové služby

Mám veľký problém s webovou službou zahrnutou vAplikácia MVC. Urobil som aplikáciu MVC a hosťovala v službe IIS 7.0. Všetko funguje dokonalé. Potom musím do tohto projektu pridať webovú službu (samozrejme by to mohlo byť WCF, pretože WS už existuje). Takže v programe Visual Studio 2010 som pridala novú položku a vybrala webovú službu pre aktuálny projekt. Na dev stroj, to je v poriadku Všetci wokrs jemné.Ale keď sa snažím zverejniť celý projekt do IIS (je to na inom serveri), MVC app nevidí WS.

To je to, čo nazývam WS v MVC:

 $("#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");
};

Je to jquery, ako vidíte. Ale moja otázka je: prečo to nefunguje? Mám nastaviť alebo nakonfigurovať niečo na IIS?

Budem vďačný za každú pomoc alebo stopy.

Marcin

odpovede:

0 pre odpoveď č. 1

Robíte prístup, ktorý je porušenímzásadu medzi doménam, ktorú voláte alebo uskutočňujete volania na strane klienta na vašu webovú službu prostredníctvom javascriptu. Existuje však už existujúci prístup, ak chcete spustiť alebo zavolať službu prostredníctvom ajax pomocou JSONP za predpokladu, že spĺňate nasledujúce podmienky:

*Máte kontrolu nad vaším kódom webových služieb, a to, že môžete upraviť kód a upraviť ho pre JSONP

*Zabalíte všetku svoju odpoveď webových služieb na spätné volanie JSONP.

pre viac informácií viď http://api.jquery.com/jQuery.ajax/

Bez JSONP pracuje lokálne, ale ak žijete v živom prostredí, ktoré "nebude fungovať.


1 pre odpoveď č. 2

Adresa URL vašej webovej služby nie je správna. "/ ../WebServicePrzeczytany.asmx/HelloWorld "vaša aplikácia by mala smerovať k publikovanej webovej službe a nie k relatívnej adrese URL ako vyššie uvedená adresa URL by mala byť niečo ako http://someipaddressordomainname/WebServicePrzeczytany.asmx/HelloWorld


0 pre odpoveď č. 3

Vaša adresa URL vyzerá divne. Pokúsili ste sa určiť absolútnu adresu URL (http://example.com/some/path/WebServicePrzeczytany.asmx/HelloWorld) pred zverejnením?