블로그 이미지
프로그램을 가장 훌륭하게 작성하는 방법은 상태가 변경되는 오브젝트들과 수학적인 값을 나타내는 오브젝트들의 조합으로 표현하는 것이다. -Kent Beck 초초초보

카테고리

Programming (184)
ASP.NET (9)
Silverlight (2)
Javascript (20)
C# (8)
java (25)
SQL (14)
Oracle (3)
MyBatis (3)
기타 (52)
개발방법론 (1)
trouble shooting (2)
Linux (5)
스칼라 (5)
html (2)
grails & gradle (3)
Spring (2)
rabbitmq (1)
(3)
spark (0)
docker (3)
Total
Today
Yesterday

달력

« » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

최근에 올라온 글

asp asp.net 세션공유

ASP.NET / 2011. 5. 30. 16:57

SUBMITTED BY: Dennis Hurst
DATE: 24 Feb 2004
RATING: 4.60 (out of 5)


 

Please let other users know how useful this tip is by rating it at the bottom of this page. Do you have a tip or code of your own you'd like to share? Submit it here for your chance to win a free .NET programming book in our monthly tip contest!


Learn how -- and how not -- to share Session variables between your old and new apps.

As you migrate your Web apps from classic ASP to ASP.NET, you may not have the luxury of completely rewriting the entire application before going to production. Instead, you may need to migrate portions of the application from ASP to ASP.NET, while leaving others as-is. If you need to make this type of migration, you will inevitably encounter the issue of how to integrate session state from your ASP application into your ASP.NET app.

Unfortunately, the session management services for each technology are completely separate, and there is no standard mechanism for sharing information between an ASP and an ASP.NET session. This article, however, shows a secure and simple method of sharing Session variables between ASP and ASP.NET pages. Along the way, you'll also learn about several alternative methods that are not secure.

Must-haves and must-nots

Any solution to the ASP/ASPX session sharing issue needs to address certain issues. First, it must be secure. Given that highly sensitive information is typically kept in session variables, security must be considered. A breach in a session sharing mechanism could result in a major system breach.

Next, it should be elegant. A complex solution or one that is difficult to maintain would be counterproductive. After all, this solution is most likely a temporary solution until all of an application can be migrated to ASP.NET pages.

Finally, it should require minimal server-based components beyond ASP.NET and ASP-based pages (or better yet, none at all). Many sites are hosted on remote servers; getting a vendor to run your DLL or other system file can be challenging.

Typically, information stored in a Session variable is for internal application use only and should be considered to be highly secure. Things that are often stored in the Session object include login state, user information, system information, and many potentially other secure items that an end user should never see. Given the secure nature of information that is stored in a Session object, security must be the paramount concern. With that in mind, some of the obvious solutions to the Session sharing issue must be avoided because they are extremely insecure. You should never put sensitive information in a cookie, a hidden parameter, or a URL; and you should avoid returning secure or system information to a browser, unless it's absolutely necessary.

The big question

HTTP is a stateless protocol. A request is sent by the client to the server and a response is returned to the client. The connection is then completed. The nature of this sessionless protocol has led vendors (like Microsoft) to come up with alternative means of maintaining session state outside the base HTTP protocol. In general, session state is maintained by ASP via the use of a cookie that is sent from the server to the client. If you look at the HTTP response, you'll see something like this:

HTTP/1.1 200 OK 
Server: Microsoft-IIS/5.0 Date: Mon,07 Apr 2003 12:52:26GMT
Content-Length: 10225
Content-Type: text/html
Cache-control: private
Set-Cookie: ASPSESSIONIDCSCRRCBS=GODPKFJDPJNMHGGJDOEIDDMK;

Note that the Web server (IIS) set a cookie with a name that starts with ASPSESSION and has some seemingly random value. This is the ASP Session cookie. All subsequent requests sent from the client to the server will include the ASP Session cookie along with the request. This cookie allows IIS to associate the request with a specific session object that is stored on the server.

ASP.NET uses the same technique to maintain session state, except that a different cookie name is used. In the case where an ASP session and an ASP.NET session have been established with the same server, the browser will send both the ASP and ASP.NET cookies with each request. The request will look something like this:

GET /MixedSessions/ASPSession.aspx HTTP/1.0 
...headers removed to simplify example...
Cookie: ASPSESSIONIDAAR=NGHNLJKBBJG;
ASP.NET_SessionId=q5ydd3t45....

From this we know that if you have ASP and ASP.NET applications running in the same folder (specifically if you put the ASP and ASP.NET files in the same folder or virtual directory), the user will have a Session object in both the ASP and ASP.NET environments. The question now becomes how you can share information in the ASP environment with the ASP.NET environment.

All together now

The goal of this solution is to allow an ASP.NET app to retrieve variables from an ASP Session object. Figure 1 illustrates the flow of the process that occurs:

  1. A user's browser will send a request from the client to the server. This request will contain the ASP and ASPX Session tokens (cookies).
  2. An ASPX Web page that needs information from an ASP Session object will create an HTTP request and send it to an ASP page that is specifically designed to return ASP Session object variables securely.
  3. The ASP page will authenticate that the request is from a local ASP.NET page only. Then it will look up the requested Session variable and return it in the HTTP response.
  4. The ASP.NET page will do whatever processing is needed and generate the response.
  5. The response is returned to the user.

Figure 1
Figure 1. By using a .NET class that creates a request containing the ASP Session cookie and sends it to an ASP page to retrieve the ASP Session variable and an ASP page that authenticates the request and returns the Session variable, you can share Session state between ASP.NET and ASP apps.

In Step 2 above, the ASP.NET page will craft a request that contains the ASP Session cookie that was passed to it. This will allow the ASP page to associate the request that comes from the ASPX page with the proper user's session.

Two components will be needed to make this system work. The first is a .NET class that will create a request that contains the ASP Session cookie and sends it to an ASP page to retrieve the ASP Session variable. The second will be the ASP page that authenticates the request and then returns the Session variable.

The .NET code consists of two main functions and a constructor. The two functions work together to request Session information from an ASP page and the constructor decides to which ASP page the necessary request will be sent.

The constructor for this class takes a reference to the HttpContext and derives the URL it will need to send its requests to, as shown in Figure 2.

public ASPSessionVar(HttpContext oInContext) 
{
 oContext = oInContext;
 ASPSessionVarASP = "SessionVar.asp";
 /* We now build a System.Uri object to derive the correct
 URL to send the HTTP request to. oContext.Request.Url
 will contain a System.Uri object that represents
 this ASPXs URL.
 */
 System.Uri oURL = oContext.Request.Url;
 ASPSessionVarASP = oURL.Scheme + "://" + oURL.Host + ":" + oURL.Port.ToString() + ASPSessionVarASP;
}
Figure 2. The ASPX page is going to make an HTTP request to an ASP page contained in the same folder as this ASPX page. This section of code derives the proper URL to send the request to. 

The primary function for this example is called GetSessionVar, which is shown in Figure 3. It does the majority of the work done by this application as outlined in Step 2 of Figure 1. This includes creating a WebRequest, sending it off to the ASP page, and returning the response.

public string GetSessionVar(string ASPSessionVar) 
{
 // First get the Session Cookie
 string ASPCookieName = "";
 string ASPCookieValue = "";
 if (!GetSessionCookie (out ASPCookieName,out ASPCookieValue))
 {
  return "";
 }
 // Initialize the WebRequest.
 HttpWebRequest myRequest = (HttpWebRequest) WebRequest.Create(ASPSessionVarASP + "?SessionVar=" + ASPSessionVar);
 myRequest.Headers.Add("Cookie: " + ASPCookieName + "=" + ASPCookieValue);
 // Send the request and get a response
 HttpWebResponse myResponse = (HttpWebResponse) myRequest.GetResponse();
 Stream receiveStream = myResponse.GetResponseStream();
 System.Text.Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
 StreamReader readStream = new StreamReader(receiveStream, encode);
 string sResponse = readStream.ReadToEnd();
 // Do a bit of cleanup
 myResponse.Close();
 readStream.Close();
 return sResponse;
}
 Figure 3. GetSessionVar is the primary function in this example. It handles the process of creating, sending, and parsing the HTTP request that is used to retrieve the ASP session variable. 

One utility function that is used is GetSessionCookie, shown in Figure 4. This function simply takes the Request that was passed by the client and extracts the ASP Session cookie from it. This function is called by the GetSessionVar function to retrieve the ASPSession cookie. Since this ASP/ASPX-based application is on the same server the Web browser will send both the ASP and ASPX cookies with each request that is made to the Web server. This function iterates through the cookies that are contained in the Cookies collection and finds and returns the ASPSession cookie.

private bool GetSessionCookie (out string ASPCookieName, out string ASPCookieValue) { 
 int loop1; HttpCookie myCookie;
 // Cookie variable
 ASPCookieName = "";
 ASPCookieValue = "";
 // Capture all cookie names into a string array.
 String[] CookieArray = oContext.Request.Cookies.AllKeys;
 // Grab individual cookie objects by cookie name.
 for (loop1 = 0; loop1 < CookieArray.Length; loop1++) {
  myCookie = oContext.Request.Cookies[CookieArray[loop1]];
  if (myCookie.Name.StartsWith("ASPSESSION")) {
   ASPCookieName = myCookie.Name;
   ASPCookieValue = myCookie.Value;
   return true;
  }
 }
 return false;
}

Figure 4. The GetSessionCookie function will find and return the ASPSession cookie that was sent by the browser in the HTTP request and return it to the GetSessionVar function.

Serve the session variable

The ASP code for this example was placed in an ASP file called SessionVar.asp. It performs two simple tasks. First, it ensures that the request is coming from the server that the ASP page is running on. This ensures that the request is valid and coming ONLY from the Web server's IP address. The ASP page then returns the session variable it was asked to provide:

<% 
dim sT
if Request.ServerVariables("REMOTE_ADDR") = Request.ServerVariables("LOCAL_ADDR") then
 sT = Request("SessionVar")
 if trim(sT) <> "" then
  Response.Write Session(sT)
 end if
end if
%>

It is critically important that the IP address check not be removed for any reason. Removing this would allow a hacker to access potentially critical information.

The following code shows how this class can be used by an ASPX-based Web page that needs to retrieve Session from an ASP-based application. The ASPX page will instantiate an ASPSessionVar object, passing in the current Context to the constructor. The GetSessionVar function is then called, passing in the name of the ASP Session variable that is to be retrieved. No other setup is required to call the method:

//Create an ASPSessionVar object, 
//passing in the current context
SPI.WebUtilities.ASP.ASPSessionVar oASPSessionVar = new SPI.WebUtilities.ASP.ASPSessionVar(Context);
string sTemp = oASPSessionVar.GetSessionVar("FirstName");

After executing a call to the GetSessionVar function the sTemp variable will contain the contents of the FirstName session variable from the ASP-based application.

Dennis Hurst is a senior consulting engineer for SPI Dynamics and is a member of its SPI Labs team of Internet security experts. He is responsible for working with customers and for developing marketing resources that educate them on the need for Web application security and practical ways to protect Web sites by using WebInspect, the company's flagship product line of Web application security assessment solutions. Dennis is an MSCD in Visual Basic and SQL Server. You can reach Dennis at dhurst@spidynamics.com.


This article was provided by asp.netPRO Magazine, an online information resource for the ASP.NET developer community, which helps professional software developers build, deploy and run the next generation of dynamic, distributed Web applications quickly and easily. Click here to learn more.

Posted by 초초초보
, |



...
 <tr id="tr<%# Container.ItemIndex +1 %>">
..



----------------------------------  1분 예제 ------------------------------------------

-------------------------------------------------------------------------------------
Posted by 초초초보
, |


aspx 페이지를 만들면
html 의 head 태그에 runat ="server" 라는 게 붙어있다.

head에 runat="server" 라는 게 붙으면

cs 단에서 HtmlHead  클래스를 이용하여 head 를 설정할 수가 있다.

####### MSDN 소스 ######
     
      Style bodyStyle = new Style();

      bodyStyle.ForeColor = System.Drawing.Color.Blue;
      bodyStyle.BackColor = System.Drawing.Color.LightGray;

      // Add the style rule named bodyStyle to the header
      // of the current page. The rule is for the body HTML element.
      Page.Header.StyleSheet.CreateStyleRule(bodyStyle, null, "body");

      // Add the page title to the header element.
      Page.Header.Title = "HtmlHead Example";

 

Posted by 초초초보
, |

Pie Chart와 Doughnut Chart 1

ASP.NET / 2008. 12. 5. 16:00

Pie Chart와 Doughnut Chart이다.
이미지는 Pie Chart 이지만 Doughnut  Chart도 동일함.

Pie Chart와 Doughnut Chart를 간단히 만들면 대략  이런 모습이 된다.(이건 Pie Chart)



하지만 1.0% 등 짜투리가 있는데 짜투리를 합치고 싶으면

 series1["CollectedThreshold"]  = comboBoxCollectedThreshold.SelectedItem.ToString();
--> 시리즈["CollectedThreshold"] = "?%";

몇 %아래부터 합칠 것이지 그건 선택 사항이다.
저런 조각들을 합치면 이런 모습이 된다.(8%) 아래를 합친 모습



저런 조각들을 합친 후 조각들의 모음만 따로 떼어낼 수가 있다.

 series1["CollectedSliceExploded"] = this.ShowExplode.Checked.ToString();
--> 시리즈["CollectedSliceExploded"] = "true";

조각만 따로 떼어낸 모습은 아래와 같다.




기타 속성 정의
시리즈["CollectedLabel"] = "Other";   //조각에 쓰기
시리즈["CollectedLegendText"] ="2121212";// 설명에 쓰기
시리즈["CollectedColor"] = "색깔명";


주의사항 : 모든 속성은 String 으로 정의해 준다


2번은 좀더 많은 속성들을 적을것임.





Posted by 초초초보
, |

Chart Control 시작하기 4

ASP.NET / 2008. 12. 4. 16:41

각 속성 변경하기.

1. Chart Control의 Series의 색깔 변경하기

html 코드에서
 <asp:Series  Name="Series1" Color="Cyan">

cs 코드에서
Chart1.Series["Series1"].Color = System.Drawing.Color.Cyan;

2. Chart Control의 Series의 width 변경하기

html 코드에서.
모름

cs 코드에서
Chart1.Series["Series2"]["PointWidth"] = "1";
double 형식이지만 string으로 대입해 주어야 함.



Posted by 초초초보
, |

Chart Control 시작하기 3

ASP.NET / 2008. 12. 4. 14:24
Chart Control을 조금 더 뽀대나가 3D 로 만들어 보기다.(별로 이쁘진 않은것 같음)

Chart Control의 3D 설정은 2가지 방법이 있는데 cs 에서 하는 방법과 html 에서 하는 방법이 있다.

먼저 cs 에서 하는 방법은

Chart1.ChartAreas[0].Area3DStyle.Enable3D = true;

--> 차트컨트롤ID.CharAreas[Name 또는 인덱스].Area3DStyle.Enable3D = boolean;

html 에서 하는 방법은

<Area3DStyle Enable3D=true />


3D의 속성은 현재 10가지가 있다.
아래 표는 ChartArea3DStyle class의 10가지 속성이다.
 Enable3D  3D 를 사용 할 것인지(Bool)
 Inclination  Y축 회전(int)
 Rotation  X축 회전(int)
 IsClustered 같은 종류의 컬럼끼리 묶기
 IsRightAngleAxes  잘 모름(bool)
 LightStyle  조명 정하기(LightStyle)
 Perspective  원근감(int)
 PointDepth  얼마나 3D 효과를 줄 것인지?(int)
 PointGapDepth  앞 뒤 막대들 사이의 거리(int)
 WallWidth  벽 두께. 차트를 약간 기울이고 보면 벽이 생기는걸 확인 할 수 있음(int)

실제 적용된 소스를 보면

                <asp:Chart ID="Chart1" runat="server" Palette="BrightPastel"
                    BackColor="#F3DFC1" Width="412px" Height="296"
                    BorderlineDashStyle="Solid" BackGradientStyle="TopBottom"
                    BorderlineWidth="2" BorderlineColor="181, 64, 1">
                        <Titles>
                            <asp:Title ShadowColor="32,0,0,0"
                            Font="Trebuchet MS, 14.24pt, style=Bold"
                            ShadowOffset="3" Text="Column Chart" Name="Title1"
                            ForeColor="26, 59, 105"></asp:Title>  
                        </Titles>
                        <Legends>
                            <asp:Legend TitleFont="Microsoft Sans Serif, 8pt, style=Bold"
                            BackColor="Transparent" Font="Trebuchet MS, 8.25pt, style=Bold"
                            IsTextAutoFit="false" Enabled="false" Name="Default">
                            </asp:Legend>
                        </Legends>
                        <BorderSkin SkinStyle="Emboss" />
                        <Series>
                            <asp:Series XValueType="DateTime" Name="Series1"
                            BorderColor="180, 26, 59, 105">
                                <Points>
                                    <asp:DataPoint XValue="36890" YValues="32" />
                                    <asp:DataPoint XValue="36891" YValues="56" />
                                    <asp:DataPoint XValue="36892" YValues="35" />
                                    <asp:DataPoint XValue="36893" YValues="12" />
                                    <asp:DataPoint XValue="36894" YValues="35" />
                                    <asp:DataPoint XValue="36895" YValues="6" />
                                    <asp:DataPoint XValue="36896" YValues="23" />
                                </Points>
                            </asp:Series>
                            <asp:Series XValueType="DateTime" Name="Series2"
                            BorderColor="180,26,59,105">
                                <Points>
                                    <asp:DataPoint XValue="36890" YValues="67" />
                                    <asp:DataPoint XValue="36891" YValues="24" />
                                    <asp:DataPoint XValue="36892" YValues="12" />
                                    <asp:DataPoint XValue="36893" YValues="8" />
                                    <asp:DataPoint XValue="36894" YValues="46" />
                                    <asp:DataPoint XValue="36895" YValues="14" />
                                    <asp:DataPoint XValue="36896" YValues="76" />
                                </Points>
                            </asp:Series>
                        </Series>
                        <ChartAreas>
                            <asp:ChartArea Name="ChartArea1">
                               //3D 스타일 설정하는 부분                           
                                <Area3DStyle Rotation="10" Perspective="10" Inclination="15"
                                IsRightAngleAxes="false" Enable3D="true" WallWidth="0" PointDepth="100"
                                IsClustered="false" PointGapDepth="300" />
                                <AxisY>
                                    <LabelStyle
                                    Format="C0" />
                                    <MajorGrid LineColor="64,64,64,64" />
                                </AxisY>
                                <AxisX>
                                    <LabelStyle
                                    Format="MM-dd" />
                                    <MajorGrid LineColor="64,64,64,64" />
                                </AxisX>
                            </asp:ChartArea> 
                        </ChartAreas>
                    </asp:Chart>  


다음과 같은 3D 차트가 나오게 된다.







Posted by 초초초보
, |

Chart Control 시작하기 2

ASP.NET / 2008. 12. 4. 13:01

Chart Control 에 속성 값을 줘서 디자인을 꾸미는 방법이다.

Chart 클래스에서 몇 가지의 속성을 나열 해보면

 BackColor  배경색 지정
 BackGradientStyle  배경의 변화도
 BackHatchStyle  배경 무늬(?) (개인적인 생각으로는 이걸 설정하면 되게 안이쁘게 나옴)
 BackImage  배경 이미지
 BorderColor  테두리 색깔
 BorderWidth  테두리 두깨
 Height  높이
 BackSecondaryColor  배경색(2번째 색)(BackColor 와 함께 배경을 이룸)
 ImageLocation 렌더링 될 때 이미지 파일이 저장될 경로
 Palette  말 그대로 빠레트(?) 어느 파레트에 그릴 것인가.
 Width  길이

훨씬 많지만 간단히 꾸밀 수 있는 속성 값은 이정도 이다.

실제 적용된 html 소스를 보면
                    <asp:Chart ID="Chart1" runat="server" Palette="BrightPastel" 
                    BackColor="#F3DFC1" Width="412px" Height="296"
                    BorderlineDashStyle="Solid" BackGradientStyle="TopBottom"
                    BorderlineWidth="2" BorderlineColor="181, 64, 1">
                        <Titles> //차트에 타이틀을 설정한다.
                            <asp:Title ShadowColor="32,0,0,0"
                            Font="Trebuchet MS, 14.24pt, style=Bold"
                            ShadowOffset="3" Text="Column Chart" Name="Title1"
                            ForeColor="26, 59, 105"></asp:Title>  
                        </Titles>
                        <Legends> //설명을 설정한다.
                            <asp:Legend TitleFont="Microsoft Sans Serif, 8pt, style=Bold"
                            BackColor="Transparent" Font="Trebuchet MS, 8.25pt, style=Bold"
                            IsTextAutoFit="false" Enabled="false" Name="Default">
                            </asp:Legend>
                        </Legends>
                        <BorderSkin SkinStyle="Emboss" /> //테두리에 스킨을 입혔다.
                        <Series> //데이터를 입력하는 곳 : 기본적으로 Chart 컨트롤은
                                                           Series 를 만들어서 데이터를 입력한다

                            <asp:Series XValueType="DateTime" Name="Series1"
                            BorderColor="180, 26, 59, 105">
                                <Points> //데이터를 임의로 넣었다.
                                    <asp:DataPoint XValue="36890" YValues="32" />
                                    <asp:DataPoint XValue="36891" YValues="56" />
                                    <asp:DataPoint XValue="36892" YValues="35" />
                                    <asp:DataPoint XValue="36893" YValues="12" />
                                    <asp:DataPoint XValue="36894" YValues="35" />
                                    <asp:DataPoint XValue="36895" YValues="6" />
                                    <asp:DataPoint XValue="36896" YValues="23" />
                                </Points>
                            </asp:Series>
                            <asp:Series XValueType="DateTime" Name="Series2"
                            BorderColor="180,26,59,105">
                                <Points>
                                    <asp:DataPoint XValue="36890" YValues="67" />
                                    <asp:DataPoint XValue="36891" YValues="24" />
                                    <asp:DataPoint XValue="36892" YValues="12" />
                                    <asp:DataPoint XValue="36893" YValues="8" />
                                    <asp:DataPoint XValue="36894" YValues="46" />
                                    <asp:DataPoint XValue="36895" YValues="14" />
                                    <asp:DataPoint XValue="36896" YValues="76" />
                                </Points>
                            </asp:Series>
                        </Series>
                        <ChartAreas> //차트를 뿌릴 공간
                            <asp:ChartArea Name="ChartArea1" BorderColor="64,64,64,64"
                            BackSecondaryColor="White" BackColor="OldLace"
                            ShadowColor="Transparent" BackGradientStyle="TopBottom">
                                <Area3DStyle Rotation="10" Perspective="10" Inclination="15"
                                IsRightAngleAxes="false" WallWidth="0"
                                IsClustered="false" />
                                <AxisY LineColor="64,64,64,64" LabelAutoFitMaxFontSize="8">
                                    <LabelStyle Font="Trebuchet MS, 8.25pt, style=Bold"
                                    Format="C0" />
                                    <MajorGrid LineColor="64,64,64,64" />
                                </AxisY>
                                <AxisX LineColor="64,64,64,64" LabelAutoFitMaxFontSize="8">
                                    <LabelStyle Font="Trebuchet MS, 8.25pt, style=Bold"
                                    Format="MM-dd" />
                                    <MajorGrid LineColor="64,64,64,64" />
                                </AxisX>
                            </asp:ChartArea> 
                        </ChartAreas>
                    </asp:Chart>  

CS 코드는 따로 작성하지 않았다.
적용된 디자인을 살펴보면



이렇게 적용 되었다. (예제 소스랑 똑같이 만든 차트임)










Posted by 초초초보
, |

Chart Control 시작하기 1

ASP.NET / 2008. 12. 4. 12:28

Chart Control을 간단히 만들고 데이터를 넣어 보는 방법이다.

먼저 html 에서

        <asp:Chart runat="server" ID="Chart1">
            <ChartAreas>// 차트가 표시될 공간
                <asp:ChartArea> 
                    <AxisX></AxisX> 
                    <AxisY></AxisY>
                </asp:ChartArea>
            </ChartAreas>
        </asp:Chart>

이런 식으로 작성 한 후에(데이터가 나오기 위한 최소값만 작성)

CS 파일에서

            int[] yval = { 1,6,3,7,3,6,2}; //데이터를 넣기위한 데이터 소스(IEnumarable 형태)

            Chart1.Series.Add("Series1");// 새로운 Series를 만든다.
            Chart1.Series["Series1"].Points.DataBindY(yval); // 데이터를 바인딩 시킨다


실행을 시켜보면




이런 아주 간단한 Chart가 나오게 된다.
















Posted by 초초초보
, |
ASP.NET  Chart Control 사용하기

1. Visual Studio 2008 sp1 설치
2. 여기 에서
        - Download the free Microsoft Chart Controls 
        - Download the VS 2008 Tool Support for the Chart Controls 
이렇게 두개를 다운 받아 설치 한 후
샘플코드를 다운 받아서 어떻게 구현 하는지 살펴본다.(시작 페이지는 default.aspx 로 설정 )

SDK는 
       - Download the Microsoft Chart Controls Documentation
이걸 다운 받으면 된다.

여러 사람들의 글과 Chart Control에 대해서 토론하는 장소는(주로 질문이 많이 올라오는 듯)
      - Visit the Microsoft Chart Control Forum 
여기로 가면 된다

Posted by 초초초보
, |