5

このエラーが発生しましたリダイレクト URI に改行文字を含めることはできません。以下のコードを実行すると。働いてMVC 4います。彼女は私の作業コードです。

 protected void Application_Error(Object sender, System.EventArgs e)
            {
                System.Web.HttpContext context = HttpContext.Current;
                System.Exception exception = Context.Server.GetLastError();
                var stackTraceExcep = new StackTrace(exception, true); // create the stack trace
                var stackTrace = stackTraceExcep.GetFrames()         // get the frames
                              .Select(frame => new
                              {                   // get the info
                                  FileName = frame.GetFileName(),
                                  LineNumber = frame.GetFileLineNumber(),
                                  ColumnNumber = frame.GetFileColumnNumber(),
                                  Method = frame.GetMethod(),
                                  Class = frame.GetMethod().DeclaringType,
                              }).FirstOrDefault();


                string FileName = stackTrace.FileName;
                string LineNumber = stackTrace.LineNumber;
                string ColumnNumber = stackTrace.ColumnNumber;
                string MethodName = stackTrace.Method.Name;
                string ClassName = stackTrace.Class.Name;
                if (!string.IsNullOrEmpty(exception.Message))
                {
                    Response.Redirect(String.Format("~/Error/{0}/?errorMessage={1},FileName={2},LineNumber={3},ColumnNumber={4},MethodName={5},ClassName={6}", "App_Error", exception.Message, FileName, LineNumber, ColumnNumber, MethodName, ClassName));//I got this error in this line 
                }
                context.Server.ClearError();
            }

何の問題 ?どうすればこれを解決できますか? 私はすでにGoogleを検索して試してみましたが、スタックオーバーフローの回答が得られました。しかし、何も私を助けません。

今私は何をしますか?

My Controller アクション メソッド

[HttpGet]
        public ActionResult App_Error(string errorMessage, string fileName, string lineNumber, string columnNumber, string methodName, string className)
        {
            string errorNumber = Convert.ToString(errorRepository.AddError(errorMessage, fileName, Convert.ToInt32(lineNumber), Convert.ToInt32(columnNumber), methodName, className));
            ViewData["message"] = "An error has occurred in the application . The error number is : " + errorNumber;
            return View();
        }
4

5 に答える 5