在线托管服务

时间:2012-03-07 21:28:38

标签: asp.net wcf web-services

我想使用WCF托管服务我创建了客户端,服务器和主机项目。我想托管服务而不需要打开视觉工作室,但我在端点有一个问题,我想把它放在主机项目中我不知道地址,我需要在IIS上放任何东西吗? 这是我的主机代码

namespace wcfhost
{
    class Program
    {
        static void Main(string[] args)
        {
            ServiceHost host=new ServiceHost(typeof(WcfServicefinal.Service1));
            BasicHttpBinding http=new BasicHttpBinding(BasicHttpSecurityMode.None);
            host.AddServiceEndpoint(typeof(WcfServicefinal.IService1), http, "http://localhost/WcfServicefinal/Service1.svc");
            host.Open();
            if(host.State==CommunicationState.Opened)
             Console.WriteLine("Service is running. Press x to exit...");

            while (Console.ReadLine() != "x") ;

            host.Close();  
        }

这是服务器的web.config

</behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <basicHttpBinding>
        <binding name="Service1" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"
          transferMode="Streamed">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <security mode="None">
            <transport clientCredentialType="Ntlm" />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <services>
      <service name="WcfServicefinal.Service1"   >
        <endpoint address="" binding="basicHttpBinding"
                  bindingConfiguration="Service1"
                  contract="WcfServicefinal.IService1" >

        </endpoint>
      </service>

    </services>

        <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

这是客户端的web.config

<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IService1" closeTimeout="00:01:00"
          openTimeout="04:01:00" receiveTimeout="04:10:00" sendTimeout="04:01:00"
          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
          messageEncoding="Text" textEncoding="utf-8" transferMode="Streamed"
          useDefaultWebProxy="true">
          <readerQuotas maxDepth="128" maxStringContentLength="2147483647" maxArrayLength="2147483647"
            maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None"
              realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://localhost/WcfServicefinal/Service1.svc"
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService1"
        contract="ServiceReference1.IService1" name="BasicHttpBinding_IService1" />
    </client>
  </system.serviceModel>
</configuration>  

0 个答案:

没有答案