(기존 응용 프로그램 상태입니다) 나가는 요청의 헤더에이 값을 추가 할 수 있습니다.
클라이언트 앱에서 WCF-DataService
의 ""을 (를) 수행했다고 가정합니다.
을하고, SendingRequest
이벤트
partial void OnContextCreated()
{
this.SendingRequest += Entity_SendingRequest;
}
에 처리기를 추가하고 Entity_SendingRequest
안에 당신은 헤더를 추가 할 수 있습니다
는 (클라이언트) 서비스의 Reference.cs
내부 OnContextCreated
이벤트를 검색합니다. 당신은 매우 쉽게 WCF-의 DataService의 DataContext에있는 서버 종료 즉 처리 할 수있는
void Entity_SendingRequest(object sender, SendingRequestEventArgs e)
{
e.RequestHeaders.Add("myusername", "blabala");
e.RequestHeaders.Add("mycurrentusersession", "23434sdfgdf");
}
.
CookieContainer
을 전달할 수도 있습니다. 이것이 WCF-Data Services의 폼 인증의 기초입니다.
void Entity_SendingRequest(object sender, SendingRequestEventArgs e)
{
CookieContainer cookieContainer = new CookieContainer();
foreach (var cc in _cookies)
{
Cookie cookie = new Cookie(cc.Key, cc.Value.Value);
cookieContainer.Add(new Uri("http://localhost", UriKind.Absolute), cookie);
}
var cookieHeader = cookieContainer.GetCookieHeader(new Uri("http://localhost",
UriKind.Absolute));
e.RequestHeaders["Cookie"] = cookieHeader;
}
감사합니다. 2 가지 더 질문 : 웹 클라이언트에서 어떻게 작동합니까? 엔티티 형식을 변경하지 않고 검색 할 때 서버에서 클라이언트로 토큰을 보내려면 어떻게해야합니까? – user355289
WebClient를 통해 더 쉽게 수행 할 수 있습니다. 'client.Headers.Add ("myusername", "blabala");'. OnStartProcessingRequest –
감사합니다. 내 토큰을 클라이언트에게 전달하는 방법을 찾고 있습니다. – user355289