Я изучаю WCF.У меня есть веб-приложение ASP.NET MVC2, и я хочу отправлять электронные письма в формате MIME из приложения, поэтому я решил инкапсулировать функции электронной почты в отдельный проект WCF для последующего повторного использования и т. Д. Поэтому я добавил библиотеку служб WCF врешение, закодировало функциональность электронной почты, добавило ссылку на службу в веб-проект, и все это прекрасно работает при запуске из VS.Однако, если я получаю доступ к веб-приложению из окна браузера (а не через Visual Studio 'F5'), служба WCF не работает.Я получаю следующую ошибку:
Невозможно подключиться к удаленному серверу в System.Net.HttpWebRequest.GetRequestStream (TransportContext & context) в System.Net.HttpWebRequest.GetRequestStream () в System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream () Невозможно установить соединение, так как целевая машина активно отказала ему 127.0.0.1:8732 в System.Net.Sockets.Socket.DoConnect
Файл web.config вВеб-приложение было изменено (WCF) следующим образом:
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IEmailService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"
textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Message">
<transport clientCredentialType="Windows" proxyCredentialType="None"
realm="" />
<message clientCredentialType="Windows" negotiateServiceCredential="true"
algorithmSuite="Default" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:8732/Design_Time_Addresses/Email/EmailService/"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IEmailService"
contract="EmailServiceReference.IEmailService" name="WSHttpBinding_IEmailService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
</system.serviceModel>
Что мне нужно сделать, чтобы служба app + работала вне VS2010?Кроме того, любые советы по развертыванию будут очень полезны, когда я в конечном итоге развернуюсь на наших серверах.
Спасибо.
Редактировать Спасибо за все ответы.Учитывая, что я собираюсь развернуть это в Интернете, я должен создать отдельное веб-приложение или веб-сервис, который затем ссылается на библиотеку сервисов, и который я бы затем развернул на независимом веб-сервере в свое время?