Benutzer mit den meisten Antworten
Button für Email keine Reaktion

Frage
-
Hallo,
ich habe eine email funktion in meiner hp, und ein crossdoamain.xml auf wwwroot gelegt, mit clientaccess polic hab ich es auch probiert. wenn ich die anwendung auf den IIS schiebe, bewirkt der sende button garnichts, nichmal eine fehlermeldung.. auch über fiddler ist nichts zu erkennen. bin an dem poblem schon ewig dran. muss ich für den IIS im WebConfig irgend einen Endpunkt setzen, wenn ja wie sieht der aus.
auf localhost läuft es...
habe schon client und cross zusammen in wwwroot gehabt, dann neu jeweils eins..
ich bin echt am verzweifeln???
- Bearbeitet Bergfeuer Dienstag, 13. September 2011 17:00
Dienstag, 13. September 2011 16:59
Antworten
-
Bist du sicher, dass der Service im IIS aufgerufen wird?
Ich würde das unter Umständen mal loggen...Hast du die Adresse des Dienstverweises in der Service.config des SL Projektes an die neue IP oder Domain angepasst?
- Bearbeitet Marco PangritzEditor Dienstag, 13. September 2011 18:36
- Als Antwort vorgeschlagen Daniel Bedarf Mittwoch, 14. September 2011 12:26
- Als Antwort markiert Bergfeuer Mittwoch, 14. September 2011 14:17
Dienstag, 13. September 2011 18:32Beantworter
Alle Antworten
-
Im WebConfig:
<configuration> <system.web> <authentication mode="Forms" /> <compilation debug="true" strict="false" explicit="true" targetFramework="4.0"><assemblies><add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /></assemblies></compilation> </system.web> <connectionStrings><add name="Model1Container" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="Data Source=XY\XY;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" /></connectionStrings><system.serviceModel> <behaviors> <serviceBehaviors> <behavior name=""> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="false" /> </behavior> </serviceBehaviors> </behaviors> <bindings> <customBinding> <binding name="xy_.Web.Service1.customBinding0"> <binaryMessageEncoding /> <httpTransport /> </binding> <binding name="xy_.Web.EmailService1.customBinding0"> <binaryMessageEncoding /> <httpTransport /> </binding> <binding name="xy_.Web.Service2.customBinding0"> <binaryMessageEncoding /> <httpTransport /> </binding> </customBinding> </bindings> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> <services> <service name="xy_.Web.Service1"> <endpoint address="" binding="customBinding" bindingConfiguration="xy_.Web.Service1.customBinding0" contract="xy_.Web.Service1" /> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> <service name="xy_.Web.EmailService1"> <endpoint address="" binding="customBinding" bindingConfiguration="xy_.Web.EmailService1.customBinding0" contract="xy_.Web.EmailService1" /> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> <service name="xy_.Web.Service2"> <endpoint address="" binding="customBinding" bindingConfiguration="xy_.Web.Service2.customBinding0" contract="xy_.Web.Service2" /> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> </services> </system.serviceModel> </configuration>
Im Service<ServiceContract(Namespace:="")> <AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Allowed)> Public Class Service2 Public Sub SendMail(ByVal emailTo As String, ByVal emailFrom As String, ByVal messageSubject As String, ByVal messageBody As String) Dim message As New MailMessage() message.From = New MailAddress(emailFrom) message.[To].Add(New MailAddress(emailTo)) message.Subject = messageSubject message.Body = messageBody message.IsBodyHtml = True 'Try Dim smtp As New SmtpClient() smtp.Host = "smtp.xy.de" ' Ersetzen mit der IP-Adresse vom E-Mail Server smtp.Port = 25 smtp.EnableSsl = False smtp.Send(message)
in der SilverlightpageDim Email As New ServiceReference1.Service2Client Email.SendMailAsync("xy@xy.de", TextBox1.Text, "xy", TextBox2.Text)
zudem im IIS7<?xml version="1.0" encoding="utf-8" ?> <access-policy> <cross-domain-access> <policy> <allow-from http-request-headers="*"> <domain uri="*" /> </allow-from> <grant-to> <resource path="/" include-subpaths="true"/> </grant-to> </policy> </cross-domain-access> </access-policy>
und<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-http-request-headers-from domain="*" headers="*"/> </cross-domain-policy>
Beide als Dateu im wwwroot...
Danke für die Hilfe und Mühe mit mir!
Dienstag, 13. September 2011 18:02 -
Bist du sicher, dass der Service im IIS aufgerufen wird?
Ich würde das unter Umständen mal loggen...Hast du die Adresse des Dienstverweises in der Service.config des SL Projektes an die neue IP oder Domain angepasst?
- Bearbeitet Marco PangritzEditor Dienstag, 13. September 2011 18:36
- Als Antwort vorgeschlagen Daniel Bedarf Mittwoch, 14. September 2011 12:26
- Als Antwort markiert Bergfeuer Mittwoch, 14. September 2011 14:17
Dienstag, 13. September 2011 18:32Beantworter -
Hallo Marco,
danke das zweite war es, habe jetzt die domain eingefügt und hab jetzt eine reaktion ;DDD aber leider mit fehler 405 ;(.
von der clientaccesspolicy oder cross domain ist im fidel nich zu sehen...
die beiden datein sollte ja inhalt sein und kopieren wenn neuer, oder?
danke für deine wervolle hilfe!!!
- Bearbeitet Bergfeuer Mittwoch, 14. September 2011 00:25
Dienstag, 13. September 2011 22:58 -
so habe einen kleinen fehler gefunden, durch das rum testen hab ich <operation contract> weggelöscht.
im serviceconfig hab ich mein HP adresse drin, im fiedler sehe ich das der smtp.XY.de angesprochen wird im fiedler sieht das so aus
404 smtp.xy.de /clientaccesspolicy 315 text/html;charset=us-ascii
404 smtp.xy.de /crossdomain 315 text/html;charset=us-ascii
warum jetzt immer noch 404???
Mittwoch, 14. September 2011 09:49 -
nach dem ich jetzt zum testen die sevice config auf localhost umgestellt habe, geht nichts mehr...
onfiguration> <system.serviceModel> <bindings> <customBinding> <binding name="CustomBinding_Service2"> <binaryMessageEncoding /> <httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" /> </binding> </customBinding> </bindings> <client> <endpoint address="http://localhost/Service2.svc " binding="customBinding" bindingConfiguration="CustomBinding_Service2" contract="ServiceReference1.Service2" name="CustomBinding_Service2" /> </client> </system.serviceModel> </configuration> <!---->
fehler meldungSystem.ServiceModel.CommunicationException wurde nicht von Benutzercode behandelt.
Message=Fehler beim Senden einer Anforderung an den URI "http://localhost/Service2.svc". Ursache ist möglicherweise, dass ohne die entsprechende domänenübergreifende Richtlinie oder mit einer nicht für SOAP-Dienste geeigneten Richtlinie domänenübergreifend auf einen Dienst zugegriffen wurde. Möglicherweise müssen Sie sich an den Besitzer des Diensts wenden, damit eine domänenübergreifende Richtliniendatei veröffentlicht und das Senden von sich auf SOAP beziehenden HTTP-Headern zugelassen wird. Dieser Fehler kann auch durch Verwendung von internen Typen im Webdienstproxy ohne das InternalsVisibleToAttribute-Attribut verursacht werden. Weitere Details finden Sie in der inneren Ausnahme.
StackTrace:
bei System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result)
bei System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
bei System.ServiceModel.ClientBase`1.ChannelBase`1.EndInvoke(String methodName, Object[] args, IAsyncResult result)
bei ESBIN_.ServiceReference1.Service2Client.Service2ClientChannel.EndSendMail(IAsyncResult result)
bei ESBIN_.ServiceReference1.Service2Client.ServiceReference1_Service2_EndSendMail(IAsyncResult result)
bei ESBIN_.ServiceReference1.Service2Client.OnEndSendMail(IAsyncResult result)
bei System.ServiceModel.ClientBase`1.OnAsyncCallCompleted(IAsyncResult result)
InnerException: System.Security.SecurityException
Message=""
StackTrace:
bei System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
bei System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
bei System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)
InnerException: System.Security.SecurityException
Message=Sicherheitsfehler
StackTrace:
bei System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
bei System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState)
bei System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__1(Object sendState)
InnerException:die rechtedateien sind aber im projekt!!
Mittwoch, 14. September 2011 12:38