C#
C# HttpContext에서 context 파라메터의 입력 형태가 어떻게 되나요?

코드 구현은 아래와 같습니다. 

첫 줄에 ProcessRequest(HttpContext context) 구현 부분에 context 입력 형태를 확인하고 싶습니다. 

http://192.168.100.239/DocComplianceSDK/Download.ashx?token=a58af231-219a-482e-98ab-e178e7a1e853&fileName=GEN_CK_Administrative%20Document_0011_0.1.docx

위에 처럼 token, fileName을 만들어서 던져주는데도 코드 마지막 라인의 else 구문으로 진입되서 'No file token specified." 를 출력합니다.

JAVA Client에서 C# Download.ashx로 요청을 보내는 구조입니다. 

입력 형태를 어떻게 해야지 token과 fileName을 인식할까요? 

        public void ProcessRequest(HttpContext context)
        {
            TransferFileInfo transferFileInfo;
            if (context.Items.Contains("token"))
            {
                string item = (string)context.Items["token"];
                string str = (string)context.Items["fileName"];
                DownloadRequest downloadRequest = FileDownloadPool.Instance[item];
                if ((downloadRequest == null ? false : !downloadRequest.IsExpired()))
                {
                    FileTransfer fileTransfer = new FileTransfer();
                    try
                    {
                        transferFileInfo = fileTransfer.ProcessDownloadRequest(downloadRequest);
                    }
                    catch (Exception exception1)
                    {
                        Exception exception = exception1;
                        context.Response.StatusCode = 403;
                        context.Response.StatusDescription = exception.Message;
                        context.Response.ContentType = "text/xml";
                        context.Response.Write(this.CreateErrorResponse(context.Response.StatusDescription));
                        return;
                    }
                    try
                    {
                        context.Response.ContentType = transferFileInfo.ContentType;
                        context.Response.AddHeader("content-disposition", string.Concat("attachment;filename=", (str == null ? transferFileInfo.FileName : str)));
                        context.Response.WriteFile(transferFileInfo.Path);
                    }
                    catch (Exception exception3)
                    {
                        Exception exception2 = exception3;
                        context.Response.StatusCode = 500;
                        context.Response.StatusDescription = "Internal error";
                        context.Response.ContentType = "text/xml";
                        context.Response.Write(this.CreateErrorResponse(exception2.Message));
                    }
                }
                else
                {
                    context.Response.StatusCode = 403;
                    context.Response.StatusDescription = "The file token is not valid.";
                    context.Response.ContentType = "text/xml";
                    context.Response.Write(this.CreateErrorResponse(context.Response.StatusDescription));
                }
            }
            else
            {
                context.Response.StatusCode = 403;
                context.Response.StatusDescription = "No file token specified.";
                context.Response.ContentType = "text/xml";
                context.Response.Write(this.CreateErrorResponse(context.Response.StatusDescription));
            }

 

댓글 2