Ошибка 400 (неверный запрос): вызов службы WCF .net из инфраструктуры извлечения магистральной модели - PullRequest
1 голос
/ 09 февраля 2012

Я пытаюсь настроить мою первую модель магистрали, которая реализует службы RESTful WCF. Вот что у меня есть: мой маршрутизатор создает модель пользователя, и я просто хочу выполнить fetch (). Я создал фиктивный веб-сервис, чтобы попытаться запустить его, прежде чем я исправлю свой фактический код WS.

РЕДАКТИРОВАТЬ: я считаю, что это проблема с моим web.config, не уверен, что мне нужно

МОЙ МАРШРУТИЗАТОР:

define([
    'backbone', 
    'dashboard',
    'models/UserModel'
], 
function(Backbone, Dashboard, UserModel) {
    var homeRouter = Backbone.Router.extend({
        initialize : function() {
            Backbone.history.start();           
        },

        routes : {
            '' : 'home',
            'docs': 'docs'

        },

        'home' : function() {

            var user = new UserModel({userId: 'cjestes'});
            user.fetch();

        },

        'docs' : function() {
            //load docs page

        }

    });

    return new homeRouter();
});

Моя модель:

define([
    'jquery',
    'backbone'
], 
function($, Backbone) {
    //Docs Metro View
    var userModel = Backbone.Model.extend({
        userId: " ",

        url:  "services/User.svc/GetUserInformation",

        initialize: function () {

            this.userId = this.get("id");

        }

    });

    // Return the Docs Model
    return userModel;
});

МОЙ SVC:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.ServiceModel.Activation;
using System.Web.Hosting;
using System.Collections.Specialized;


namespace Mri.Dashboard.services
{

    public class User : IUser
    {
        public string GetUserInformation()
        {
            return "hello";

        }
    }
}

МОЙ ИНТЕРФЕЙС

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.ServiceModel.Web;

namespace Mri.Dashboard.services
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IUser" in both code and config file together.
    [ServiceContract]
    public interface IUser
    {
        [OperationContract]
        string GetUserInformation();
    }
}

1 Ответ

0 голосов
/ 16 февраля 2012

Для тех, кто наткнулся на это, я использовал имплементацию WCF без .svc / config. Я начал с этого шаблона, в котором изложено все, что вам нужно, чтобы запустить REST WCF.

http://visualstudiogallery.msdn.microsoft.com/fbc7e5c1-a0d2-41bd-9d7b-e54c845394cd

Я смог использовать этот шаблон в сочетании со встроенной синхронизацией базовой модели, его очень легко сделать и использовать.

...