ODataの呼び出し時にCookieを設定する方法
探してズバリが見つからなかったのでメモ
呼び出すサービスクラスのSendingRequest(particalメソッド)を定義するとOK。
下記の例はLightSwitch自身が認証したCookieを呼び出し側にデリゲートしています。
public partial class ContainerDataService { partial void ContainerData_SendingRequest(global::Microsoft.LightSwitch.ODataSendingState state) { // Get the Forms auth cookie var AuthCookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName]; if (AuthCookie != null) { Cookie objCookie = new Cookie(); objCookie.Domain = HttpContext.Current.Request.Url.DnsSafeHost; objCookie.Expires = AuthCookie.Expires; objCookie.HttpOnly = AuthCookie.HttpOnly; objCookie.Name = AuthCookie.Name; objCookie.Path = AuthCookie.Path; objCookie.Secure = AuthCookie.Secure; objCookie.Value = AuthCookie.Value; state.Request.CookieContainer = new CookieContainer(); state.Request.CookieContainer.Add(objCookie); } } partial void Query_Executing(QueryExecutingDescriptor queryDescriptor) { }