Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Accept Language hinzufügen bei Webservice
Ploetzi
myCSharp.de - Member

Avatar #avatar-2940.gif


Dabei seit:
Beiträge: 320

Themenstarter:

Accept Language hinzufügen bei Webservice

beantworten | zitieren | melden

Hallo,
ich habe einen Webservice
http://staging.rbc.ch/schober/salesreport/services/data/mobiledataservice.asmx

den ich in meiner applikation wie folgt habe:

public static 	staging.rbc.ch.MobileDataService Client;


Wie setze ich nun "Generell" für diesen Client eine Accept Language auf englisch?
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16232

beantworten | zitieren | melden

In dem Du die Header des Requests manuell bearbeitest.
Das geht entweder beim Call oder generell in der web.config
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Ploetzi
myCSharp.de - Member

Avatar #avatar-2940.gif


Dabei seit:
Beiträge: 320

Themenstarter:

beantworten | zitieren | melden

Hallo,
also mir wurde jetzt vorgeschlagen eine Klasse zu machen:

using System;
using System.Web.Services.Protocols;
namespace Schober
{
	public class LanguageSoapHttpClientProtocol : SoapHttpClientProtocol
	{
		protected override System.Net.WebRequest GetWebRequest(Uri uri)
		{
			var request = base.GetWebRequest(uri);
			request.Headers.Add("Accept-Language", "en"); //en ersetzen mit dynamischer Sprache
			return request;
		}
	}
}


Aber wie nutze ich diese nun ?

So funktioniert es nicht:


		public static 	 LanguageSoapHttpClientProtocol Client;

und dann:


			Settings.Client = new staging.rbc.ch.MobileDataService ();
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Ploetzi am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16232

beantworten | zitieren | melden

Wer hat Dir das vorgeschlagen? Der wird Dir sicher auch sagen, wie man das nutzt.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Ploetzi
myCSharp.de - Member

Avatar #avatar-2940.gif


Dabei seit:
Beiträge: 320

Themenstarter:

beantworten | zitieren | melden

Jain. Mir schon klar, das ist eine vererbte Klasse. Aber Wie initiere ich das.

Auch diese Info hilft mir nicht:
Die Klasse MobileDataService muss von LanguageSoapHttpClientProtocol erben.

Public Class MobileDataService : LanguageSoapHttpClientProtocol

Anschliessend können Sie den Service wie bis anhin verwenden.

public static staging.rbc.ch.MobileDataService Client;

Client = new staging.rbc.ch.MobileDataService ();
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Ploetzi am .
private Nachricht | Beiträge des Benutzers
Ploetzi
myCSharp.de - Member

Avatar #avatar-2940.gif


Dabei seit:
Beiträge: 320

Themenstarter:

beantworten | zitieren | melden

Gelöst!

Zur Info an alle:
Man muss die Reference.cs manipulieren.
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 7581
Herkunft: Waidring

beantworten | zitieren | melden

Hallo Ploetzi,
Zitat
Man muss die Reference.cs manipulieren.
Wenn ich mich nicht irre, steht in dieser Datei oben ein Kommentar der auch beachtet werden sollte. Sonst ist beim nächsten Update die Änderung schon wieder weg.

Da die Klasse partial ist, wenn ich mich abermals nicht irre ;-), so ist es besser diese so zu erweitern/bearbeiten.

mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
private Nachricht | Beiträge des Benutzers