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)
        {
                      
        }