0

スタックオーバーフローのおかげで(ほとんど)、mssqlデータベースからデータをプルしてjson形式で中継できるWCFサービスを作成しました。このサービスは、ローカルおよびネットワーク内のホームサーバーで期待どおりに機能します。ただし、ネットワーク外ではサービスにアクセスできないようです。

Web経由での公開に対応するためにコードに追加のパラメーターが必要ですか、それとも単なるホストセットアップであり、WCFやサービスとは関係ありませんか?

サーバーは2008R2およびIIS7.5であり、現在、数十のWebサイトをホストしています。サービス用のポートも設定しました。

これは私が使用しているweb.configファイルです:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.web>
    <customErrors mode="Off" />
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </assemblies>
    </compilation>
  </system.web>
  <system.serviceModel>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true">
    </serviceHostingEnvironment>
    <services>
      <service behaviorConfiguration="SrvcBehavior" name="Service.svc">
        <endpoint address="JSON" behaviorConfiguration="JSONEndpointBehavior" binding="webHttpBinding" bindingConfiguration="" name="RESTEP" contract="Service.Isvc" />
        <endpoint address="SOAP" binding="basicHttpBinding" name="Basic" contract="Service.Isvc" />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
    <behaviors>
      <endpointBehaviors>
        <behavior name="JSONEndpointBehavior">
          <webHttp />
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="SrvcBehavior">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
  <connectionStrings>
    <add name="conn" connectionString="server=SERVER-DATABASE\SQL2005;database=myDatabase;uid=USERID;password=USERPASSWORD;" />
  </connectionStrings>
</configuration>
4

0 に答える 0