PDA

View Full Version : سوال: مشکل با کنترل چارت در اجرای سایت از IIS



shahrzad87
سه شنبه 30 خرداد 1391, 08:56 صبح
سلام
کد زیر قسمتی از کد فایل webconfig که مربوط به کنترل چارت که توی پروژه استفاده کردم هست:


<httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttp Handler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
validate="false" />
</httpHandlers>


وقتی که کامنتش می کنم سایت بالا میاد و مشکلی نیست ولی صفحه ای که چارت توش هست خطا داره و نشونش نمی ده، خطاش هم این هست :


Invalid temp directory in chart handler configuration [c:\TempImageFiles\].

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.IO.DirectoryNotFoundException: Invalid temp directory in chart handler configuration [c:\TempImageFiles\].

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

اگر هم کامنتش نکنم، کل سایت بالا نمیاد و این خطا رو می ده :
88448
چه تنظیماتی توی IIS باید انجام بدم؟ لطفا راهنماییم کنید.:متفکر:

mastermehdi1
سه شنبه 30 خرداد 1391, 09:30 صبح
web.config رو چک کنید که خطوط زیر رو داشته باشه

<configuration>
<system.web>
<compilation debug="false" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
<httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttp Handler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
</httpHandlers>
</system.web>
</configuration>

shahrzad87
سه شنبه 30 خرداد 1391, 10:10 صبح
من ویندوز 7 دارم و ورژن IIS هم Internet Information Services (IIS) 6.0 Manager هست، ممکنه به خاطر این باشه؟ چطور می تونم به ورژن 7 یا 7.5 تغییرش بدم؟

shahrzad87
سه شنبه 30 خرداد 1391, 10:45 صبح
مشکلم حل شد :)
مراحل کارهایی که باید انجام بشه :



In your Solution, create a folder (called TempImages, for example).
Add a file (temp.txt, or whatever) to this folder. The dev tools don't seem to publish empty directories.
Set the image location of your chart to:
ImageLocation="~/TempImages/ChartPic_#SEQ(300,3)"
Add the following to appSettings in your web.config :
<add key="ChartImageHandler" value="Storage=memory;Timeout=20;Url=~/tempImages/;"/>
Make sure the following is in system.web/assemblies :
<add assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Make sure the following is in system.web/httpHandlers :
<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttp Handler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
Make sure the following is in system.webServer/handlers
<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttp Handler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>


بعد از publish ممکن هست که فولدر TempImages اضافه نشده باشه و باید خودتون دستی کپی کنید.
تو تنظیمات IIS هم تو قسمت ISAPI and CGI Restrictions باسد همه موارد Allowed باشه.
این هم لینک سایت هست stackoverflow (http://stackoverflow.com/questions/2660606/asp-netinvalid-temp-directory-in-chart-handler-configuration-c-tempimagefiles)
موفق باشید.