Использовать 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, потому что он, похоже, не связывается со службой. Спасибо

0 ответов

Другие вопросы по тегам