2010년 9월 17일 금요일
갑자기 C# Form이 느려 질경우
2010년 9월 16일 목요일
IIS 웹 사이트 추가
2010년 9월 14일 화요일
2010년 9월 6일 월요일
서비스 참조 업데이트시 WCF 함수 추가가 안될경우
2010년 9월 4일 토요일
Windows7 WCF 게시 할경우 FileStream으로 txt파일 안만들어 이유
2010년 8월 24일 화요일
Android와 Wcf Binding
[ServiceContract(Namespace = "http://tempuri.org/")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class WcfService{}에서 Namespace의 값을 http://tempuri.org/ 설정해주면 바인딩 해결
2010년 8월 19일 목요일
HTTP 오류 404.17 - Not Found
화면은 다음과 같습니다.
HTTP 오류 404.17 - Not Found
요청한 콘텐츠가 스크립트로 표시되고 정적 파일 처리기에서 처리되지 않습니다.
해결
이 메시지는 윈도우 비스타에서 기본적으로 WCF의 기능을 활성화 해놓지 않기 때문에 발생하는 오류입니다. 그렇기 때문에 [제어판]-[프로그램추가/삭제]-[윈도우 기능 사용/사용안함]을 클릭하여 다음 기능을 선택하여 설치하면 해결할 수 있습니다.
그런데, 위 방법으로도 안될경우.. (내가 좀전에 그랬음..)
아래 처럼 하니깐 된다.. 결국 응용프로그램 풀의 문제였던가.. 흠..
2010년 5월 10일 월요일
allowDefinition='MachineToApplication'으로 등록된 섹션을 응용 프로그램 수준 외부 사용 오류
allowDefinition='MachineToApplication'으로 등록된 섹션을 응용 프로그램 수준 외부에서 사용하면 오류가 발생합니다. 이 오류는 IIS에서 가상 디렉터리를 응용 프로그램으로 구성하지 않은 경우에 발생할 수 있습니다.
상황에 따라 다르겠지만 저같은 경우는 솔루션 다시빌드했을때 이런현상이 나타났고요.
솔루션안에 2개의 웹사이트프로젝트가 있어서 web.config가 충돌할때 이런현상이 난다고 하더군요
그래서 전체빌드를 안하거나. 귀찮아서 전체빌더를 하고싶을때는
Server 프로젝트 안에 있는 Web.config 파일이름 변경(ex Web1.config)
web.config파일이 2개이상있으면 한꺼번에 빌드금지
2010년 4월 28일 수요일
WCF Not Found 문제 해결 방법
1. 서버 탐색기에서 DB 연동 여부 확인!
2. Web.config 에서
<bindings>
<customBinding>
<binding name="customBinding0">
<binaryMessageEncoding />
<httpTransport />
</binding>
</customBinding>
</bindings> <= 이 전체부분 삭제
3. 서버
WebDiskTestPage.aspx 선택 -> 마우스 오른쪽 -> 시작페이지로 설정
4. 서버프로젝트 선택 -> 마우스 오른쪽 -> 웹 사이트 게시 -> clientaccesspolicy.xml && crossdomain.xml 추가
문제 해결!
2010년 4월 26일 월요일
URI ~에 대한 요청을 만드는 동안 오류해결
에러 메시지는 ‘URI 'http://localhost:19982/MyWCF.Service/serviceForSilverlight.svc'에 대한 요청을 만드는 동안 오류가 발생했습니다. 적절한 상호 도메인 정책 없이 상호 도메인 경로의 서비스에 액세스하려고 했거나 SOAP 서비스에 적합하지 않은 정책을 사용하려고 했기 때문일 수 있습니다. 서비스 소유자에게 문의하여 상호 도메인 정책 파일을 게시하고 SOAP 관련 HTTP 헤더가 전송될 수 있도록 할 수 있습니다. 이 오류는 InternalsVisibleToAttribute 특성을 사용하지 않고 웹 서비스 프록시에서 내부 형식을 사용해서 발생한 문제일 수도 있습니다. 자세한 내용은 내부 예외를 참조하십시오.’ 입니다.
해결
- 보통 눈치가 빠른 분들은 금방 알아 차리셨겠지만, 위에서 예를 든 에러는 주소를 잘못 입력해서 나타나는 경우입니다. 위의 주소만 봐도 ‘localhost:19982’가 눈에 뛰는데요, 보통 VisualStudio Development Server로 WCF를 페이지로 띄어보고 그 주소를 그대로 Silverlight 또는 ASP.NET에서 사용한 경우에 발생합니다. 위의 에러가 나면 먼저 주소가 제대로 되었는지 다시 한번 확인해 보는 것이 필요합니다.
- WCF를 사용하면서 접하게 되는 가장 당혹스러운 일은 WebService참조를 추가하고 업데이트를 하다보면은 주소가 자동으로 localhost로 바뀌는 버그가 있다는 점입니다. 예를 들어 WebService 주소를 "http://192.168.0.20:88/Service.svc?wsdl"로 설정하였더라도, 가끔식 주소가 "http://localhost:88/Service.svc?wsdl"로 변경되버립니다. 따라서 에러가 발생하면 주소를 확인하고 주소를 원하는 주소로 다시 되돌리시면 됩니다.
- 마지막으로 많이 발생하는 경우가 바로 ‘상호 도메인 정책’파일을 WCF 측에 게시하지 않았기 때문입니다. crossdomain.xml과 clientaccesspolicy.xml 둘 중에 하나를 작성하여 WebService Server의 Root에 올려두시면 됩니다. crossdomain.xml은 Flesh 측에서 사용했던 ‘상호 도메인 정책파일’로서 Silverlight에서도 사용가능 하지만 대부분의 고급 옵션들의 사용이 제한됩니다. clientaccesspolicy.xml은 WCF가 Silverlight를 위해서 제공하는 ‘상호 도메인 정책파일’입니다. Silverlight개발을 하신다면 clientaccesspolicy.xml을 작성하여 사용하시면 됩니다.
clientaccesspolicy.xml01.
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
02.
<
access-policy
>
03.
<
cross-domain-access
>
04.
<
policy
>
05.
<!-- http-request-headers를 설정하여 특정 헤더를 포함하는 요청만 허용할 수 있습니다. -->
06.
<
allow-from
http-request-headers
=
"*"
>
07.
<!-- 어떤 도메인에 대해서 Service를 허용할 것인가. 아래는 전체 도메인에 대한 허용 -->
08.
<
domain
uri
=
"*"
/>
09.
</
allow-from
>
10.
<
grant-to
>
11.
<!-- 어떤 자원을 허용할 것인가. -->
12.
<
resource
path
=
"/"
include-subpaths
=
"true"
/>
13.
</
grant-to
>
14.
</
policy
>
15.
</
cross-domain-access
>
16.
</
access-policy
>
1.
<?
xml
version
=
"1.0"
?>
2.
<!DOCTYPE cross-domain-policy SYSTEM
3.
"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
4.
<
cross-domain-policy
>
5.
<
allow-http-request-headers-from
domain
=
"* "
headers
=
"*"
/>
6.
</
cross-domain-policy
>
2010년 4월 24일 토요일
LoaderExceptions 속성을 참조 오류 해결방법
2. VS.NET을 닫는다. (이때 모든 폼이 닫혀있는지 꼭 확인)
3. 'bin', 'obj'폴더를 지운다
4. VS.NET을 연다.
5. 응용프로그램을 리빌드한다.
6. 이제 폼을 연다. 에러가 나지 않으면 정상...
2010년 4월 4일 일요일
서비스 참조 추가 오류 해결방법
Web.config에서
<endpoint address="" binding="basicHttpBinding"
contract="File_Server.Web.WcfService" /> <= 여기를 수정 해주면 서비스 참조추가 가능
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />