맞춤법 교정 기능

오피스 2010, 2013

한국어도 모두 가능(추가언어는 별도 설치 필요)

인터넷익스플로러 10 , 11

추가기능 관리에서 활성화 가능(아래 내용 참고)

인터넷익스플로러 9

추가기능 관리에 없음

대체방안 -> 구글툴바 맞춤법 기능
http://google.com/tools/firefox/toolbar/FT2/intl/ko/spellcheckintro

혹은 상용프로그램

http://www.iespell.com/download.php
http://www.speckie.com/license

   

   

IE10 부터 맞춤법 교정 기능 추가됨 (영어 등)

한국어는 없음, 해당 기능활성화 시 일부 부하가 존재함(필요 없으면 비활성화 할것)

   

그래서 암튼 => OWA 2013 에서는 맞춤법검사 기능 제거됨 (Exchange 2007에는 존재했음)

   

맞춤법 교정 기능 사용하려면, IE 추가기능 관리에서 맞춤법 교정 들어와서

원하는 언어를 선택 후 기본값으로 설정

   

   

OWA 2013 작성페이지에서 이렇게 빨간 줄 그어짐

   




   

   

FCK 에디터 기본 설정

   

FCK Editor v2.4.3

    

   

1. 환경 설정하기 fckeditor/fckconfig.js 

   

서버스크립트별로 주석으로 표시되어 있는 부분을 해제

FCKConfig.ProtectedSource.Add( /<%[\s\S]*?%>/g ) ; // ASP style server side code <%...%>

   

기본언어

FCKConfig.DefaultLanguage  = 'kr' ;

   

편집중 엔터 또는 쉬프트+엔터

FCKConfig.EnterMode = 'div' ;   // p | div | br

FCKConfig.ShiftEnterMode = 'br' ; // p | div | br

   

링크 서버 보기 기능 해제(보안 필수)

FCKConfig.LinkBrowser = false ;

   

이미지 서버 보기 기능 해제(보안 필수)

FCKConfig.ImageBrowser = false ;

   

플래시 서버 보기 기능 해제(보안 필수)

FCKConfig.FlashBrowser = false ;

   

   

이모티콘 추가

FCKConfig.SmileyPath = FCKConfig.BasePath + 'images/smiley/msn/' ;

FCKConfig.SmileyImages = ['regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','confused_smile.gif',

'tounge_smile.gif','embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif',

'angry_smile.gif','angel_smile.gif','shades_smile.gif','devil_smile.gif','cry_smile.gif','lightbulb.gif',

'thumbs_down.gif','thumbs_up.gif','heart.gif','broken_heart.gif','kiss.gif','envelope.gif'] ;

   

툴바설정

FCKConfig.ToolbarSets["MyToolbar"] = [

 ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],

 ['OrderedList','UnorderedList','-','Outdent','Indent'],

 ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],

 ['Link','Unlink','Anchor'],['Image']

] ;

이렇게 별도로 추가한 다음에 fckeditor를 생성하는 스크립트에서는 아래처럼 지정해 주면 된다.

Dim oFCKeditor

Set oFCKeditor = New FCKeditor

oFCKeditor.ToolbarSet = "MyToolbar"

oFCKeditor.BasePath = "/fckeditor/"

oFCKeditor.Value = ""

oFCKeditor.Height = 400

oFCKeditor.Width = 780

oFCKeditor.Create "content"

   

2. 용량이 큰 이미지를 업로드 설정할

참고 http://blog.naver.com/neofanta.do?Redirect=Log&logNo=120039036389

   

3. 한글 이미지파일명 처리

페이지 케릭터셋 변경

   

fckeditor/editor/filemanager/upload/asp/upload.asp

<%@ CodePage=65001 Language="VBScript"%>

<%

Option Explicit

Response.Buffer = True

Response.CharSet = "UTF-8"

   

   

4. 이미지 업로드 경로 변경

fckeditor/editor/filemanager/upload/asp/config.asp 파일 수정

ConfigUserFilesPath = "/files/fck/"

   

   

5. 이미지 주소 형태 변경

업로드 이미지 전체 주소의 형태로 태그가 만들어지면 해결됨

포스트 참조 http://blog.naver.com/neofanta.do?Redirect=Log&logNo=120045457520

   

6. 편집기 폰트목록 추가

/fckeditor/fckconfig.js 파일

   

FCKConfig.FontNames  = '굴림;굴림체;돋움;돋움체;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;

   

/fckeditor/editor/css/fck_editorarea.css

body, td

{

 font-family: Gulim, Arial, Verdana, Sans-Serif;

 font-size: 12px;

}

   

   







인터페이스란


클래스 대신 인터페이스라는 선언문 사용

그리고 내용에는 접근제어자 없는 함수 형태만 덩그러니 있음


왜 사용할까?

다중상속에서 오는 문제점을 막으면서, 다중상속할 수 있게 해주는 것

(어떤 함수를 호출 할 지 모르게 되어버리는 문제)


다중상속이 가능하게 하는 키워드!



inerface Test {

void aaa();

}


interface Exam{

void bbb();

}


class Inter : Test, Exam {


public void aaa(){

def

}

public void bbb(){

abc

}

}



그리고 다른 장점은(아래 소스코드)

하나의 인터페이스를 상속받은 서로 다른 성질의 클래스들을

하나로 묶어서 사용이 가능 아래 Main 함수 안에서...

7   class Program

8     {

9         static void Main(string[] args)

10         {

11             Exam[] ex = new Exam[3];

12             ex[0] = new Test();

13             ex[1] = new Test1();

14             ex[2] = new Test2();

15 

16             for (int i = 0; i < 3; i++) {

17                 ex[i].Exam_method();

18             }

19 

20             Console.WriteLine("Press any key...");

21             Console.ReadLine();

22         }

23     }

24     interface Exam

25     {

26         void Exam_method();

27     }

28     class Test :Exam {

29         public void Exam_method()

30         {

31             Console.WriteLine("Test_Method 입니다.");

32         }

33     }

34     class Test1 : Exam {

35         public void Exam_method()

36         {

37             Console.WriteLine("Test1_Method 입니다.");

38         }

39     }

40     class Test2 : Exam

41     {

42         public void Exam_method()

43         {

44             Console.WriteLine("Test2_Method 입니다.");

45         }

46     }



디자인 패턴의 많은 예제 코드들이 이 인터페이스를 설계하는 것으로 부터 많이 시작

단순히 뼈대를 제공하는 것 뿐만아니라 더 큰 의미에서 최소한의 수정을 통해서 

변화에 대응 할 수 있도록 하기 위한 유연한 프로그래밍을 할 수 있게 해주는

 설계의 근간이 된다



인터페이스 내에서는 메소드, 이벤트, 인덱서, 속성이 쓰일 수 있으며, 

필드를 포함할 수 없습니다. 

인터페이스의 모든 멤버는 public로 접근 권한이 기본으로 지정

인터페이스를 상속한 클래스에서는 반드시 함수를 정의해줘야됨.



사전적 의미

'사용자인 인간과 컴퓨터를 연결하여 주는 장치. 키보드나 디스플레이 따위.' 

'서로 다른 두 시스템, 장치, 소프트웨어 따위를 서로 이어 주는 부분. 

또는 그런 접속 장치'



다른 특징

인터페이스는 인터페이스를 상속할 수 있음








'기술(MS,Web,Windows,AWS) > Web개발' 카테고리의 다른 글

IE10 부터 맞춤법 교정 기능  (0) 2016.04.22
FCK 에디터 기본 설정  (0) 2016.04.05
MVC 내부 파이프라인  (0) 2016.03.16
`MVC의 ActionResult  (0) 2016.03.16
MVC 강의 정리 2일차  (0) 2016.03.14

MVC 내부적인 파이프라인

이 사이에 개발자가 삽입가능

OnActionExecuting : 컨트롤러에서 해당 액션이 호출되기 전에 호출되는 이벤트이다. 해당 이벤트에서는 사용자가 브라우저를 통해서 호출하는 명령값을 확인할수 있고, 원하지 않는 코드가 삽입되었을때에 올바른 처리를 할수 있다. 이곳에서 주로 처리가 이루어지는 부분은 , 사용자 권한 감시등이 이루어 질수 있다.



OnActionExecuted : 해당 이벤트는 Action 메서드가 처리된 이후에 호출되는 이벤트이다. 이 이후에는 View 를 렌더링 하기전에 해야할 일들을 처리할수 있다. Action 이 처리된 후 , 결과값에 대한 캐싱값을 만들거나 ACtion에서의 Error 핸들링 등을 할수 있다.



OnResultExcuting : 해당 이벤트는 View가 렌더링 되면서 발생하는 이벤트이다.



OnResultExecuted : 해당 이벤트는 View가 렌더링 되고 난 후에 발생되는 이벤트이다. 만약 에러처리나 권한 검사등을 이곳에서 실행하게 된다고 하더라도 , 이미 결과 값이 만들어 졌기 때문에 해당 페이지가 사용자에게 노출될수 있다.





'기술(MS,Web,Windows,AWS) > Web개발' 카테고리의 다른 글

FCK 에디터 기본 설정  (0) 2016.04.05
interface 인터페이스 정리  (0) 2016.03.27
`MVC의 ActionResult  (0) 2016.03.16
MVC 강의 정리 2일차  (0) 2016.03.14
[MVC] Model State, Validation도우미  (0) 2016.03.14

MVC의 ActionResult


 MVC에서 보내질 View의 형태를 결정하는 것

ActionResult 를 상속받는 구현 객체들에 대한 이야기

ActionResult 의 원형

public abstract class ActionResult {

public abstract void ExecuteResult(ControllerContext context);

}

단지 ExecuteResult를 호출하는 아주 간단한 추상 클래스

컨트롤러 컨텍스트를 전달 받는데 , 이는 모든 http 서버측 객체에 접근할수 있다는 것을 의미하며 , 또한 해당 컨트롤러를 참조할수 있다는 것을 의미한다.


1. System.Web.Mvc.ContentResult

ASP.NET 의 Response.Write와 같은 기능을 한다. Content(); 에 전달되는 인자를 그대로 출력한다.


2. System.Web.Mvc.EmptyResult

메서드명과 같이 아무것도 반환하지 않는다.


3. System.Web.Mvc.FileResult

Stream 형태로 해당 뷰를 반환한다.


4. System.Web.Mvc.HttpUnauthorizedResult

권한이 없는 http 오류코드(401) 를 리턴한다


5. System.Web.Mvc.HttpStatusCodeResult

각종 http 상태코드를 반환한다


6.System.Web.Mvc.JavaScriptResult

자바스크립트 형태의 Stream 을 리턴한다.


7.System.Web.Mvc.JsonResult

Json 형태의 Stream을 리턴한다 ContextType 은 (text/json)이다.


8.System.Web.Mvc.RedirectResult

해당 페이지로 리다이렉트 한다 ASP.NET Classic 의 Response.Redirect 


9. System.Web.Mvc.RedirectToRouteResult

해당 MVC안의 라우팅 되는 페이지로 리다이렉트 한다.


10. System.Web.Mvc.ViewResultBase

해당 뷰를 렌더링.

 때에 따라 View로 Model 을 보내거나 , View로 사용할 페이지를 지정할수 있다.





'기술(MS,Web,Windows,AWS) > Web개발' 카테고리의 다른 글

interface 인터페이스 정리  (0) 2016.03.27
MVC 내부 파이프라인  (0) 2016.03.16
MVC 강의 정리 2일차  (0) 2016.03.14
[MVC] Model State, Validation도우미  (0) 2016.03.14
MVC 강의 정리  (0) 2016.03.13

FormCollection


--------------------------------------------------------------------

[HttpPost]

public ActionResult Create()

{

if(ModelState.IsValid)

{

Employee employee =new

UpdateModel(employee);



EmployeeBusinessLayer employeeBusinessLayer

mployeeBusinessLayer.AddEmployee(employee);


return RedirectToAction("Index");



[HttpPost]

[ActionName("Create")] -> 이렇게 선언해놓으면 Create 하면 아래 함수로 호출됨

public ActionResult Create_Post()

{

if(ModelState.IsValid)

{

Employee employee =new

UpdateModel(employee); //아래 설명



EmployeeBusinessLayer employeeBusinessLayer

mployeeBusinessLayer.AddEmployee(employee);


return RedirectToAction("Index");



[HttpPost]

[ActionName("Create")] -> 이렇게 선언해놓으면 Create 하면 아래 함수로 호출됨

public ActionResult Create_Get()

{

return View();

}




UpdateModel 함수

inspects all the HttpRequest inputs such as posted Form data, QueryString, Cookies, Server Variables and populate the employee object.


--------------------------------------------------------------------

UpdateModel and TryUpdateModel 차이점






--------------------------------------------------------------------

Nuget Package Manager에서

Entity Framework 설치

그리고 소스에서

using System.ComponentsModel.DataAnnotations; 추가


생성자에서 각 속성값 위에

[Required] 추가해줌


그리고

컨트롤러 public ActionResult Create_Post() 함수에서

Employee employee = new Employee();

TryUpdateModel(employee); //함수로 변경 


결과 입력Form 양식에서 

validation check가 됨


그러나 결론은 

UpdateModel(), TryUpdateModel() 함수 둘다 mandatory 아님

그래도 명시적으로 해주는 이유는

If you want to limit on what can be bound,

expllicitly invoking model binding can be very useful.


--------------------------------------------------------------------

Edit


[HttpGet]

public ActionResult Edit(int id)


new employeeBusinessLayer

employee = employeeBusinessLayer.Employees.Single(emp => emp.ID == id);

return View(employee);

그리고 우측키 눌러서 Add View

Model Class 선택

그리고 제공해주는 템플릿 선택 Scaffold template "Edit" 선택

--------------------------------------------------------------------

[HttpPost]

public ActionResult Edit함수 추가

비지니스레이어에 mod함수 추가



--------------------------------------------------------------------

기존 Html Helper

@Html.EditorFor(model => model.Name)

@Html.ValidationMessageFor(model => model.Name)

-> 태그로 변경되면 input 박스


UnEditorble로 변경

@Html.DisplayFor(model => model.Name)

@Html.ValidationMessageFor(model => model.Name)

-> 그냥 plain text로 render됨


수정누르면 field is required로 나옴

히든필드에 저장해놓으면 됨

@Html.DisplayFor(model => model.Name)

@Html.HiddenFor(model => model.Name)

@Html.ValidationMessageFor(model => model.Name)


--------------------------------------------------------------------

피들러 이용해서 (일종의 해킹)

POST 요청 보내어 데이터 수정이 그낭함

피들러 왼쪽 리스트에서 해당 요청건을 오른쪽 영역 Composer로 드래그 드랍

그리고 아래쪽 POST URL에서 수정하고 싶은 값을 고쳐서 Excute하면

실제로 서버로 POST 요청이 들어감 



--------------------------------------------------------------------




--------------------------------------------------------------------




1. Model State
모델 스테이트(Model State)= 모델 스테이트 딕셔너리

유효성 에러 표시 용도

혹은 이렇게 체크

if(ModelState.IsValid)

{

Employee employee =new

UpdateModel(employee);



EmployeeBusinessLayer employeeBusinessLayer

mployeeBusinessLayer.AddEmployee(employee);


return RedirectToAction("Index");

}

유효성 검사중에 이 프로퍼티들에서 fail이 나면 model state dictionary(컨트롤러 클래스의 ModelState를 의미하는)에 추가가됩니다.

model state에 에러가 있으면 ModelState.IsVaild 는 false를 반환합니다. 이같은 경우, 전화번호를 추가하는 HTML 페이지는 다시 그려지게됩니다. 그렇지 않으면, 즉, 에러가 없을 경우는 디비에 저장이 됩니다.

2. Validation 도우미 2개

1) Html.ValidationSummary() 도우미 

HTML폼 위에서 바로 호출이 됩니다. 그리고선 불릿(bulleted) 리스트로 에러 메시지를 보여줍니다.

2) Html.ValidationMessage() 도우미

각각의 HTML 폼 필드 옆에 호출이 됩니다. 에러를 해당 필드 바로 옆에 표시해주는거죠. 에러가 난 부분에도 같은 에러메시지가 표시되는 것을 확인할수 있습니다.


이 두 메쏘드는 ASP.NET MVC 스카폴딩에 의해 자동적으로 Create와 Edit 뷰에서 사용이됩니다.

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Validation1.Models.TelDir>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
 Create
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <h2>Create</h2>
    <%= Html.ValidationSummary() %>
    <% using (Html.BeginForm()) {%>
        <fieldset>
            <legend>Fields</legend> 
            <div class="editor-label">
                <%= Html.LabelFor(model => model.Name) %>
            </div>
            <div class="editor-field">
                <%= Html.TextBoxFor(model => model.Name) %>
                <%= Html.ValidationMessageFor(model => model.Name) %>
            </div>
            
            <div class="editor-label">
                <%= Html.LabelFor(model => model.Phone) %>
            </div>
            <div class="editor-field">
                <%= Html.TextBoxFor(model => model.Phone) %>
                <%= Html.ValidationMessageFor(model => model.Phone) %>
            </div>
            
            <div class="editor-label">
                <%= Html.LabelFor(model => model.SpeedDial) %>
            </div>
            <div class="editor-field">
                <%= Html.TextBoxFor(model => model.SpeedDial) %>
                <%= Html.ValidationMessageFor(model => model.SpeedDial) %>
            </div>
            
            <p>
                <input type="submit" value="Create" />
            </p>
        </fieldset>
    <% } %>
    <div>
        <%=Html.ActionLink("Back to List", "Index") %>
    </div>
</asp:Content>


다음은 유효하지 않은 값을 summit 했을때의 화면입니다.


3. PreBinding / PostBinding


1) HTML 폼 필드들이 클래스에 바운드 되기 전에 에러를 주는 PreBinding 에러

2) HTML 폼 필드들이 바운드 된 후에 에러를 주는 PostBinding 에러

Create()  액션은 다음과 같이 TelDir 클래스의 인스턴스를 받도록 되어있습니다.

public ActionResult Create([Bind(Exclude="Id")] TelDir dir)

summit을 하게되면 모델 바인더에 의해 HTML 폼 필드들의 값이 dir 로 바운드됩니다. 폼 필드값을 바운드 하지 못하면 자동적으로 디폴트 모델 바인더에 에러 메시지를 추가합니다.

예를들어, 디폴트 모델 바인더는 TelDir 클래스의 SpeedDial 속성에 'speed' 문자를 바운드 할 수 없습니다. decimal 타입에 string 이라니. 말이 안되죠. 그래서, 모델 바인더는 모델 스테이트에 에러를 추가합니다. 저희가 유효성 검사를 하지 않은 필드도 검사를 하는거죠.













https://www.youtube.com/watch?v=KvTy_FAYjks&index=3&list=PL6n9fhu94yhVm6S8I2xd6nYz2ZORd7X2v


------------------------------------------------------ ------------------------------------------------------ 

runtime using code 확인


컨트롤러.cs 에서

Index()함수 안에서 아래 구문 넣어서 확인

그리고 웹페이지 Index 확인


return typeof(Controller).Assembly.GetName().Version.ToString();



뷰엔진 (ASPX, Razor)


비쥬얼스튜디오

우측 프로젝트 최상위 우측키 클릭

web 탭에서 어디서 퍼블리싱 할 것인지 선택가능(Visual Studio or IIS) 

IIs 선택하고 create Virtual Directory 선택하면 자동으로 생성됨


http://localhost/MVCDemo/Home/Index

       Server    Project 컨트롤러 Index함수


= http://localhost/MVCDemo


MVC URL        = 컨트롤러의 액션 메소드를 매핑

일반 웹폼 URL  = 물리적인 파일 매핑



------------------------------------------------------------------------------------------------ ------------

3강


global.asax

URL 매핑

컨트롤러Home  엑션 index 페이지 매핑해주는 함수호출

Routeconfig.cs


---------------------------------------------------------------------------------------------- --------------

기존 QueryString 방식 

호긍 

localhost/MVCDemo/home/index/10  형태로 넘길수도 있음


둘다 Index(string id, string name)  형태로 받아 사용가능

return "ID = " + id + " Name =" + name;


GET/POST 모두 가능




------------------------------------------------------ 

view

컨트롤러 해당 함수에서 우측키 뷰페이지 생성


public ActionResult Index()

{

.,..

..

return View();

}


public ViewResult Index()

{

.,..

..

return View();

}


public ViewResult Index()

{

//ViewBag 객체한테 넘겨준다

//동적 프로퍼티에 넣어준다.

ViewBag.Countries = new List<string>();

{

"India", "US", "Korea"

};


return View();

}


ViewBag.동적


cshtml = Razor

cshtml에서 닷넷 코드를 쓰려면 @ 골뱅이


<ul>

//똑같은 프로퍼티 명으로 받아야됨

@foreach(string strCountry in ViewBag.Countries)

{

<li>@strCountry </li>

}

</ul>


--------------------------------------------------------------------------------------------------- --------- 

ViewBag, ViewData is mechanism to pass data from controller to view.


controller -> view 


ViewData["aaa"] = "bbb";

ViewBag.aaa = "bbb";



---------------------------------------------------------------------------------------------------- -------- 

Model


view 페이지 최상단 import

@model MVCDemo.Models.Employee 



컨트롤러 함수 마지막

View(employee) 넘겨줘야됨



------------------------------------------------------------------------------------------------- ----------- 

1. 인스톨 엔티티 프레임워크 by using nuget package manager

2. Add EmployeeContext.cs class 모델폴더에 추가

3. Add 연결문자열 to web.config 


VS에서 Manage Package Manager 선택

엔티티프레임워크 선택 추가



----------------------------------------------------------------------- ------------------------------------- 

테이블 읽어오도록 수정


@foreach(Department department in @Model)

{

<li>

@Html.ActionLink(department.Name, "Index", "Employee", new{ departmentId = department.ID }, null)

//                        인자,     ,,,       컨트롤러명

</li>

}


EmplyeeController 안에 인자받는 클래스 생성

public ActionResult Index(int deptId)

{


List<Employee> employees = employeeContext.Employees.Where(emp = emp.DepartmentId == deptId).ToList();


}


----------------------------------------------------------------------------------------- ------------------- 

마지막 BackToList 시 에러

@Html.ActionLink("Back to List","Index" ) =>@Html.ActionLink("Back to List","Index", new{ departmentId = @Model.DepartmentId})  )




Index(int deptId) 였는데


------------------------------------------------------------------------------------------- ----------------- 










문제

하이퍼V가상에서, VHDX를 복사해서 SID정보까지는 변경하였지만, 사이트를 열었을 때 

계속해서 503에러가 뜨면서, 해당 어플리케이션 풀이 죽는 현상 발생

이벤트로그 : 어플리케이션 풀 config 중에서 가상디렉터리 도메인 계정정보 중에서 passwd 컬럼을 디코드 할 수 없다는 메시지

pool config can not decode iis


참고 URL : https://blogs.msdn.microsoft.com/vijaysk/2009/03/13/caution-while-xcopying-iis-7-0-config-files/





해결방법은 아래와 같다.


윈도우 서버 IIS 에 있는 N개의 웹사이트 및 설정 및 어플리케이션 풀 설정까지 한번에 복사하기


복사할 서버에서 아래의 경로에 있는 파일을 복사합니다.

경로 : C:\Windows\System32\inetsrv\config

파일 : administration.config, applicationHost.config, redirection.config


복사할 서버에서 커맨드창을 열어 아래의 커맨드를 사용하여 2개의 XML 설정파일을 생성합니다.

aspnet_regiis -px "iisConfigurationKey" "C:\iisConfigurationKey.xml" -pri

aspnet_regiis -px "iisWasKey" "C:\iisWasKey.xml" -pri


닷넷 경로 C:\Windows\Microsoft.NET\Framework64\v4.0.30319)


위의 5개의 파일을 복사하여 새로운 서버에 복사합니다.

administration.config, applicationHost.config, redirection.config 파일은 C:\Windows\System32\inetsrv\config 로

iisConfigurationKey.xml, iisWasKey.xml 파일은 C드라이브(적당한 곳)에 복사합니다. 


저장한 다음 커맨드 창을 열어 아래의 커맨드를 사용하여 설정파일을 복원합니다.  끝

aspnet_regiis -pi "iisConfigurationKey" "C:\iisConfigurationKey.xml"

aspnet_regiis -pi "iisWasKey" "C:\iisWasKey.xml"


인터넷정보서비스를 켜보면 그대로 옮겨짐. 웹사이트 열어도 잘 됨.







'기술(MS,Web,Windows,AWS) > Web개발' 카테고리의 다른 글

[MVC] Model State, Validation도우미  (0) 2016.03.14
MVC 강의 정리  (0) 2016.03.13
HTTP Error 503. The service is unavailable.  (0) 2016.02.12
DOM 문서객체모델  (0) 2016.02.11
웹 기반 기술  (0) 2016.02.11



가능한 원인 1. 해당 웹응용프로그램(웹사이트) Pool 상태 확인

시작 - 실행 - inetmgr (IIS 관리자 구동 후) 응용 프로그램 풀 확인

해당 사이트가 바인딩된 응용프로그램 풀의 상태가 중지되어있음 -> 다시 시작

다시 죽는다면, 종료되는 응용프로그램 풀은 지우고 새로 응용프로그램 풀을 추가


가능한 워인 2. 해당 웹응용프로그램 Pool.config 파일 내에 인증정보 (예를들어 NAS접근계정 등) 삭제 후 재시도

가상서버 WEB서버 VHDX를 복사하여, 재구성한 웹서버에서 동일한 문제가 발생했었음





+ Recent posts