이 문제 편집
Web.Config
파일을 해결 합니다다음 행을 삽입하십시오.
<system.web>
...
<httpHandlers>
<add path="CrystalImageHandler.aspx" verb="GET" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"></add>
</httpHandlers>
...
* 번호 버전 작성시주의하세요 (버전 = xx.x.xxxx.x)-------------------
그것을 알아 냈습니다. 라우팅이 생성되는 CrystalImageHandler.aspx 링크를 방해했습니다. Global.aspx에는 리소스 파일을 무시하도록 라우팅 엔진에 알리는 다음 줄이 있습니다.
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
그러나 이것은 일반적인 리소스 파일이 아니며 어떤 이유로 aspx 파일입니다 (누구나 그 이유를 알고 있습니까?)이것을 추가하면 다음과 같이 수정되었습니다.
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
-------------------
public class CrystalImageHandlerController : Controller
{
//
// GET: /Reports/CrystalImageHandler.aspx
public ActionResult Index()
{
return Content("");
}
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
var handler = new CrystalDecisions.Web.CrystalImageHandler();
var app = (HttpApplication)filterContext.RequestContext.HttpContext.GetService(typeof(HttpApplication));
if (app == null) return;
handler.ProcessRequest(app.Context);
}
}
이 컨트롤러는 핸들러를 호출합니다. 여기에 경로를 CrystalImageHandler.aspx로 추가하기 만하면 원하는 하위 경로 (이 경우 / reports)와 함께 사용할 수도 있습니다. 구성을 통해 처리기가 수행 할 수없는 작업입니다.-------------------
로컬 컴퓨터에서 보려면 웹 구성에 다음 코드를 추가합니다.
<httpHandlers>
<add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web,Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
</httpHandlers>
...............................
<appSettings>
<add key="CrystalImageCleaner-AutoStart" value="true" />
<add key="CrystalImageCleaner-Sleep" value="60000" />
<add key="CrystalImageCleaner-Age" value="120000" />
</appSettings>
다음 코드는 서버에 표시하기위한 것입니다.
<system.webServer>
<handlers>
<add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode"/>
</handlers>
</system.webServer>
:) 웹 구성에 추가 할 때 그 문제를 해결할 것입니다.-------------------
라우팅이 CrystalImageHandler.aspx를 방해했기 때문입니다. 따라서 Global.asax 또는 routeConfig 파일에서 .aspx 확장 파일의 경로를 무시할 수 있습니다. 다음 줄을 추가하여 .aspx 확장 경로를 무시할 수 있습니다.route.IgnoreRoute ( "{
allaspx}", new {allaspx = @ ".
.aspx (/.*)?"});
출처
https://stackoverflow.com/questions/2006011