На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> WCF + IIS
    Здравствуйте, у когонить есть статейка или может так ответите, как разместить WCF сервис "аля HelloWorld" в IIS ?
    Спасибо
      http://msdn.microsoft.com/en-us/library/aa751792.aspx
        я сделал вот так: не работает

        ExpandedWrap disabled
          using System;
          using System.Collections.Generic;
          using System.Linq;
          using System.Runtime.Serialization;
          using System.ServiceModel;
          using System.ServiceModel.Web;
          using System.Text;
          namespace SomeService
          {
              [ServiceContract]
              public interface IHelloService
              {
                  [OperationContract]
                  string GetHello(string pName);
              }
          }


        ExpandedWrap disabled
          using System;
          using System.Collections.Generic;
          using System.Linq;
          using System.Runtime.Serialization;
          using System.ServiceModel;
          using System.ServiceModel.Web;
          using System.Text;
          namespace SomeService
          {
              public class HelloService : IHelloService
              {
                  public string GetHello(string pName)
                  {
                      return string.Format("Hello {0}", pName);
                  }
              }
          }


        ExpandedWrap disabled
          <?xml version="1.0"?>
          <configuration>
           
            <configSections>
              <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
                <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
                  <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
                  <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
                    <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" />
                    <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
                    <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
                    <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
                  </sectionGroup>
                </sectionGroup>
              </sectionGroup>
            </configSections>
            <appSettings/>
            <connectionStrings/>
            <system.web>
              <compilation debug="true">
                <assemblies>
                  <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                  <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                  <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                  <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                </assemblies>
              </compilation>
              <!--
                  The <authentication> section enables configuration
                  of the security authentication mode used by
                  ASP.NET to identify an incoming user.
              -->
              <authentication mode="Windows" />
              <!--
                  The <customErrors> section enables configuration
                  of what to do if/when an unhandled error occurs
                  during the execution of a request. Specifically,
                  it enables developers to configure html error pages
                  to be displayed in place of a error stack trace.
                  <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
                   <error statusCode="403" redirect="NoAccess.htm" />
                   <error statusCode="404" redirect="FileNotFound.htm" />
                  </customErrors>
              -->
              <pages>
                <controls>
                  <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                  <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                </controls>
              </pages>
              <httpHandlers>
                <remove verb="*" path="*.asmx"/>
                <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
              </httpHandlers>
              <httpModules>
                <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
              </httpModules>
            </system.web>
            <system.codedom>
              <compilers>
                <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4"
                          type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
                  <providerOption name="CompilerVersion" value="v3.5"/>
                  <providerOption name="WarnAsError" value="false"/>
                </compiler>
              </compilers>
            </system.codedom>
            <!--
                The system.webServer section is required for running ASP.NET AJAX under Internet
                Information Services 7.0.  It is not necessary for previous version of IIS.
            -->
            <system.webServer>
              <validation validateIntegratedModeConfiguration="false"/>
              <modules>
                <remove name="ScriptModule" />
                <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
              </modules>
              <handlers>
                <remove name="WebServiceHandlerFactory-Integrated"/>
                <remove name="ScriptHandlerFactory" />
                <remove name="ScriptHandlerFactoryAppServices" />
                <remove name="ScriptResource" />
                <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
                     type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"
                     type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
              </handlers>
            </system.webServer>
            <runtime>
              <assemblyBinding appliesTo="v2.0.05727" xmlns="urn:schemas-microsoft-com:asm.v1">
                <dependentAssembly>
                  <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
                  <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
                </dependentAssembly>
                <dependentAssembly>
                  <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
                  <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
                </dependentAssembly>
              </assemblyBinding>
            </runtime>
            <system.serviceModel>
              <services>
                <service behaviorConfiguration="SomeService.Service1Behavior"
                  name="SomeService.HelloService">
                  <endpoint address="" binding="wsHttpBinding" contract="SomeService.IHelloService">
                    <identity>
                      <dns value="localhost" />
                    </identity>
                  </endpoint>
                  <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
                </service>
              </services>
              <behaviors>
                <serviceBehaviors>
                  <behavior name="SomeService.Service1Behavior">
                    <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
                    <serviceMetadata httpGetEnabled="true"/>
                    <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
                    <serviceDebug includeExceptionDetailInFaults="false"/>
                  </behavior>
                </serviceBehaviors>
              </behaviors>
            </system.serviceModel>
           
          </configuration>


        Далее, в VS - второй кн мыши на проекте, Publish
        Publish method : File System
        Target Location: C:\inetpub\wwwroot\ServiceFolder

        в папке
        C:\inetpub\wwwroot\ServiceFolder
        Появились файлы:
        HelloService.svc
        Web.config
        и папка Bin, с файлами "SomeService.dll", "SomeService.pdb"

        в ISS , добавляю новый сайт - Имя сайта: MySite, Пул приожений DefaultAppPool, порт 8082

        Пытаюсь обратиться к сервису:
        http://localhost:8082/HelloService.svc
        получаю ошибку:

        ExpandedWrap disabled
          HTTP Error 404.17 - Not Found
          The requested content appears to be script and will not be served by the static file handler.
          Module    StaticFileModule
          Notification    ExecuteRequestHandler
          Handler    StaticFile
          Error Code    0x80070032
          Requested URL    http://localhost:8082/HelloService.svc
          Physical Path    C:\inetpub\wwwroot\ServiceFolder\HelloService.svc
          Logon Method    Anonymous
          Logon User    Anonymous


        Добавлено
        вопрос решен
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0239 ]   [ 16 queries used ]   [ Generated: 3.05.24, 18:34 GMT ]