Публикация в службу WCF от Angularjs Content Type. ⇐ C#

Место общения программистов C#
Anonymous
Публикация в службу WCF от Angularjs Content Type.

Сообщение Anonymous »

Во -первых, извините за длину этого, но я хотел включить как можно больше информации. Я пишу свое первое приложение TypeScript/Angular и пытаюсь позвонить в наши существующие IIS WCFServices. Вызовы перекрестные домены. Спасибо за любой ввод. < /P>
Контракт на обслуживание: < /p>

Код: Выделить всё

[OperationContract]
[WebInvoke(Method = "POST",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "LoginUser",
BodyStyle = WebMessageBodyStyle.Wrapped)]
LoginResponse LoginUser(LoginRequest request);
< /code>
TypeScript Запрос: < /p>
class LoginRequest implements ILoginRequest {
UserName: string;
Password: string;
ReturnListOfQueues: boolean;
}
Метод логина Angular/TypeScript:

Код: Выделить всё

loginUser(UserName: string,
Password: string,
DomainName: string,
ReturnListOfQueues: boolean): ng.IPromise {

var base_url = 'http://[IP]/AuthenticationService.svc/rest/LoginUser';

var request = new LoginRequest();
request.UserName = UserName;
request.Password = Password;
request.ReturnListOfQueues = ReturnListOfQueues;

var req = {
method: 'POST',
url: base_url,
headers: { 'Content-Type': undefined },
data: JSON.stringify({ request: request }),
contentType: "application/json",
dataType: "json",
}

return this.$http(req)
.then((response: ng.IHttpPromiseCallbackArg): ILoginResponse=> {
return response.data;
});
}
Когда я называю его, как указано выше с заголовками: {'' content-type ': undefined} , JSON отображается в Fiddler, но тип контента-«Text/Plan', и я получаю ошибку запроса 400
, если я редактирую/reissue Sucdeper in fiddl и я получаю ожидаемые данные ответа.
Когда я изменяю запрос, чтобы использовать приложение/json, данные больше не отображаются в Fiddler

Код: Выделить всё

var req = {
method: 'POST',
url: base_url,
headers: { 'Content-Type': "application/json" },
data: JSON.stringify({ request: request }),
contentType: "application/json",
dataType: "json",
}
< /code>
Я также получаю сообщения Cors в Firefox при настройке контента-типа < /p>
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at [removed]. (Reason: CORS preflight channel did not succeed).

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at [removed]. (Reason: CORS request failed).
< /code>
web.config inted для обслуживания < /p>













Обновление:
Я следил за этим сообщением. Он отправляет запрос параметров, который возвращает 200 ОК, но запрос сообщения никогда не выполняется.

Подробнее здесь: https://stackoverflow.com/questions/307 ... type-issue

Вернуться в «C#»