비주얼 2008에서 코딩을 하면 WCF가 잘 돌아가던 것이 원격에 있는 IIS에 올리면은 에러가 나온다.! 그 에러의 내용은 아래와 같다~!


에러의 간략한 내용이
이 컬력션에는 스키마 http을(를) 가진 주소가 이미 있습니다. 이 컬렉션에서 스키마당 주소는 하나만 존재 할 수 있습니다.
이런식으로 나온다면 한번 따라해 보는것을 추천한다.

Service1.svc와 Service1.svc.cs 파일이 2개가 있다고 가정하에 시작을 하겠습니다.

Service1.svc.cs파일을 아래의 소스를 추가 해줍니다.
    public class MyServiceHostFactory : ServiceHostFactory
    {
        protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
        {
            // 특정한 WCF 웹서비스 주소를 넣으면 됩니다.
            Uri webServiceAddress = new Uri("
http://www.xellos.pe.kr/LiveSearch/LiveSearchService.svc");
            MyServiceHost webServiceHost = new MyServiceHost(serviceType, webServiceAddress);
            return webServiceHost;
        }
    }
    public class MyServiceHost : ServiceHost
    {
        public MyServiceHost(Type serviceType, params Uri[] baseAddresses)
            : base(serviceType, baseAddresses)
        { }
        protected override void ApplyConfiguration()
        {
            base.ApplyConfiguration();
        }
    }


그리고 Service1.svc파일도 약간 수정을 해야합니다. 비주얼 2008에서는 아무리 열어보려고 해도 저는 Service1.svc.cs파일만 열려서 EditPlus로 따로 작업을 했습니다. 열어보시면 단 한줄의 소스만 있을 겁니다.
<%@ ServiceHost Language="C#" Debug="true" Service="Gossip.Web.LiveSearch.LiveSearchService" Factory="MyServiceHostFactory" CodeBehind="LiveSearchService.svc.cs" %>
다른건 그대로 두시고 Factory를 추가시켜 줍니다. 그러면 웹서비스의 에러가 사라지고 아래의 화면이 나올 겁니다.



저작자 표시 비영리 변경 금지
1 ... 50 51 52 53 54 55 56 57 58 ... 67