Использовать WCF, размещенный в Интернете из JQuery на Android
Я успешно разместил службу WCF .svc вместе с приложением.NET в моей учетной записи хостинга @ DiscountASP.net.
Служба теперь размещена, и я могу получить к ней доступ из другого aspx, размещенного в той же среде, размещенной в той же среде. В этом aspx я использую код Javascript для доступа к нему, и он работает нормально.
Теперь я пытаюсь получить доступ к той же службе откуда-то еще через Интернет с помощью функции.Ajax, которая находится на одной из моих HTML-страниц приложений Android.
Я считаю, что это возможно, но я не могу сделать этот код.
Ниже мой код CostService.svc
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
using System.Text;
namespace SandwichServices
{
[ServiceContract(Namespace = "SandwichServices")]
[AspNetCompatibilityRequirements(RequirementsMode =AspNetCompatibilityRequirementsMode.Allowed)]
public class CostService
{
[OperationContract]
public double CostOfSandwiches(int quantity)
{
return 1.25 * quantity;
}
// Add more operations here and mark them with [OperationContract]
}
}
И ниже код, вызывающий его из JavaScript
var Type;
var Url;
var Data;
var ContentType;
var DataType;
var ProcessData;
function WCFJSON() {
var qq = "3";
Type = "POST";
Url = "rent-o-buy.com/costservice.svc";
Data = '{"quantity": "' + qq + '"}';
ContentType = "application/json; charset=utf-8";
DataType = "json";
ProcessData = true;
CallService();
}
// Function to call WCF Service
function CallService() {
//alert('before ajax call');
$.ajax({
type: Type, //GET or POST or PUT or DELETE verb
url: Url, // Location of the service
data: Data, //Data sent to server
contentType: ContentType, // content type sent to server
dataType: DataType, //Expected data format from server
processdata: ProcessData, //True or False
success: function (msg) {//On Successfull service call
ServiceSucceeded(msg);
},
error: ServiceFailed// When Service call fails
});
//alert('after ajax call');
}
function ServiceFailed(result) {
alert('failed: ' + result.status + '' + result.statusText);
Type = null;
varUrl = null;
Data = null;
ContentType = null;
DataType = null;
ProcessData = null;
}
function ServiceSucceeded(result) {
alert('ServiceSucceeded');
if (DataType == "json") {
resultObject = result.GetUserResult;
alert('resultObject.length=' + resultObject.length);
for (i = 0; i < resultObject.length; i++) {
alert(resultObject[i]);
}
}
}
function ServiceFailed(xhr) {
alert(xhr.responseText);
if (xhr.responseText) {
var err = xhr.responseText;
if (err)
error(err);
else
error({ Message: "Unknown server error." })
}
return;
}
</script>
Мне нужна помощь с JavaScript, потому что он, похоже, не связывается со службой. Спасибо