Проблемы с подключением веб-службы Silverlight WCF только при развертывании - PullRequest
0 голосов
/ 08 февраля 2012

У меня есть приложение Silverlight с веб-сервисом WCF.Я размещаю свою базу данных на godaddy и разрешаю удаленные подключения к базе данных.Когда я запускаю свой проект, подключаясь к удаленной базе данных, контент загружается как надо.Однако при развертывании приложения по какой-то причине веб-служба не выполняется должным образом.Это тот же код, который подключается к той же базе данных, но я ничего не получаю.

Я могу нормально просматривать удаленный файл SVC (перейдя по адресу mysite.com/mywebservice.svc).

Я могу получить часть своих данных со своей страницы asp (не веб-службы), используя следующий код:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            string myConnectionString = ConfigurationManager.ConnectionStrings["SilverlightWebConnectionString"].ConnectionString;

            using (System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(myConnectionString))
            {
                using (System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand())
                {
                    cmd.CommandText = "SELECT htmlTitle FROM HtmlAttributes WHERE pageName='Home'";
                    cmd.Connection = con;

                    con.Open();

                    TitleText.Text = Convert.ToString(cmd.ExecuteScalar());

                    cmd.CommandText = "SELECT htmlDescription FROM HtmlAttributes WHERE pageName='Home'";

                    string description = Convert.ToString(cmd.ExecuteScalar());
                    DescriptionMetaText.Text = string.Format("<meta name=\"description\" content=\"{0}\" />", description);

                    con.Close();
                }
            }
        }
    }

Поэтому я знаю, что это не проблема с базой данныхили строка подключения.Мое единственное предположение, что в моем файле web.config есть свойство, которое я не устанавливаю правильно.

Вот код для файла web.config:

    <configuration>
      <system.web>
        <compilation debug="true" targetFramework="4.0" />
      </system.web>
      <connectionStrings>
        <add name="SilverlightWebConnectionString" connectionString="Data Source=mySource; Initial Catalog=myCatalog; User ID=myId; Password='myPassword';" providerName="System.Data.SqlClient" />
      </connectionStrings>
      <system.serviceModel>
        <behaviors>
          <serviceBehaviors>
            <behavior name="">
              <serviceMetadata httpGetEnabled="true" />
              <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
          </serviceBehaviors>
        </behaviors>

<bindings>
  <customBinding>
    <binding name="MySilverlightWebsite.Web.MyWebService.customBinding0">
      <!--<binaryMessageEncoding />-->
      <textMessageEncoding>
        <readerQuotas maxStringContentLength="2147483647"/>
      </textMessageEncoding>
      <httpTransport />
    </binding>
  </customBinding>
</bindings>

<services>

  <service name="MySilverlightWebsite.Web.MyWebService">
    <endpoint address="" binding="customBinding" bindingConfiguration="MySilverlightWebsite.Web.MyWebService.customBinding0" contract="MySilverlightWebsite.Web.MyWebService" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>

</services>

<serviceHostingEnvironment minFreeMemoryPercentageToActivateService="0" aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...