Laden...

Forenbeiträge von f.ritz Ingesamt 341 Beiträge

21.06.2012 - 09:09 Uhr

Sehr guten Einstieg in dieses Thema bieten die beiden Artikel in der Zeitschrift dotnetpro - Ausgaben 09 und 10/2011

13.10.2008 - 18:01 Uhr

Hallo!
Ich bin in den XPath-Ausdrücken nicht besonders mächtig. Kann mir jemand sagen wie ich aus dem XML die expliziten Namespaces entfernen kann?
Beispiel:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<my:envelope xmlns:my="http://www.bla/my20080801.xsd">
<my:body>
 <my:value>test</my:value>
</my:body>
</my:envelope>
11.04.2008 - 10:22 Uhr

Hallo zusammen,
ich habe ein, hoffentlich ein kleines, Problem mit dem Setup-Projekt das ich mit VS 2005 erstelle. Und zwar; ich habe in meinem Projekt eine App.config diese möchte ich in mein Setup einfügen(hab ich einfach als Datei in den Anwendungsordner kopiert). Wenn ich das Programm installiere und das Programm versucht auf die App.config zu zugreifen funktioniert es nicht und ich bekomme eine Fehlermeldung. Weis jemand woran es liegen könnte?

Also im großen und ganzen möchte ich einfach mein später, installiertes Programm konfigurierbar machen.

13.03.2008 - 17:59 Uhr

Hallo zusammen,
ich habe ein Problem beim Aufruf einen externen C++-Funktion. Die Signatur der Funktion sieht so aus:

int execCommand(char *,char *,char *,int,char *,int)

Der Aufruf findet, wie folgt, statt:

class Programm
{
[DllImport("nsuitesigAPIDLL.dll", EntryPoint = "#1")]
public static extern int execCommandExt(string arg1, string arg2, byte[] importData, int importSize, byte[] exportData, int exportSize);
...
void eineFunktion()
{
  ...
  execCommandExt("...", "...", importDataBytes, importDataBytes.Length, exportDataBytes, exportDataBytes.Length);
}
}

Wenn ich versuche die Funktion zwei mal hintereinander aufzurufen, bekomme ich beim zweiten Aufruf die AccesViolationException:
Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben...

Wenn ich es richtig verstehe, schreibt die externe Funktion in den selben Speicherbereich wie vorhin und dann kommt die Exception. Ich habe aber kein Plan was ich hier machen könnte!?!? X(

12.03.2008 - 10:36 Uhr

Super! Vielen Dank für den Tip!

Mit Ordinalzahl geht es jetzt:

[DllImport("C:\\Programme\\nsuite\\nsuitesig\\nsuitesigAPIDLL.dll", EntryPoint = "#1")]
public static extern int execCommand(String arg1, String arg2, String importData, int importSize, String exportData, int exportSize);
12.03.2008 - 09:03 Uhr

Hallo zusammen,
ich möchte eine C++ DLL in meinem Code einbinden.
Ich habe die DLL mit dependencywalker durchgeschaut und die definition der auzurufunden Funktion lautet:

int execCommand(char *,char *,char *,int,char *,int)

Also deklariere ich die Funktion, bei mir, wie folgt:

[DllImport("C:\\Programme\\nsuite\\nsuitesig\\nsuitesigAPIDLL.dll", EntryPoint = "execCommand")]
public static extern int execCommand(string arg1, string arg2, string importData, int importSize, string exportData, int exportSize);

Beim Aufrug der Funktion bekomme ich aber folgende Fehlermeldung:
Der Einstiegspunkt execCommand wurde nicht in der DLL C:\Programme\nsuite\nsuitesig\nsuitesigAPIDLL.dll gefunden.

Woran liegt denn das? Stimmt vielleicht der zu übergebende Datentyp nicht?

19.02.2008 - 13:35 Uhr

Ich rate dir, das Problem - wenn möglich - einzugrenzen und mit dem Debugger

Würde ich ja gerne! Aber ich weis nicht wie ich das Problem nachbilden soll. Das Problem kommt auch nur bei einigen Benutzern vor, so dass ich vermute dass es iregendwie Clientseitiges Problem sein könnte!?!?! Oder?
Ich weiss auch nicht so recht wo ich anfangen soll zu suchen 🙁

19.02.2008 - 13:01 Uhr
protected void LoginButton_Click(object sender, EventArgs e)
    {
        //Webservice initialisieren
        bool AllreadyExist = false;
        Service serv = new Service();
        serv.PreAuthenticate = true;
        serv.Credentials = System.Net.CredentialCache.DefaultCredentials;

        //Anmeldung
        bool bla = serv.LogOnAdmin(this.UserName.Text, this.Postleitzahl.Text, ref AllreadyExist);
        if (!AllreadyExist)//Existiert der Portalbenutzer-Account?
        {
            if (bla)
            {
                HttpCookie cookie = new HttpCookie("Bla");
                cookie.Value = this.UserName.Text;
                Response.Cookies.Add(cookie);

                FormsAuthentication.SetAuthCookie(this.UserName.Text, true);
                Response.Redirect("CreateUser.aspx");
            }
            else
                this.FailureText.Text = "Falsche Kombination .....";
        }
        else
        {
            this.FailureText.Text = "Es exist....";
        }
    }
19.02.2008 - 12:17 Uhr

Hallo zusammen,
ich hab auf meiner Website ein Problem, dass sich manche Benutzer nicht registrieren können. Die Benutzer werden über Redirect(http://...aspx?Redirect=true) einfach auf die Hauptseite zurück geschmissen.
Die Authentifizierungsart ist Forms auf der Seite.
Die ASPX-Form zum Registrieren ist aber, über den Eintrag in der web.config, für alle zugänglich:

  <location path="SignUp.aspx">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>

Im Ereignisslog steht leider nichts.... 🙁

Also, woran könnte es liegen, dass einige Benutzer den Zugang auf die freigegebene ASPX-Form nicht haben?

13.02.2008 - 13:21 Uhr

Danke!
Kann mir noch jemand einen Tip geben - wie ich das Verhalten nachbilden könnte, denn bei mir kommt der Fehler nicht!?!?

13.02.2008 - 12:21 Uhr

verwendetes Datenbanksystem: MS SQL Server 2005

Ich mache in meiner Anwendung einen Funktionsaufruf von einem Webservice. Die Funktion des Webservices greift dann auf den SQL-Server zu und fragt Daten, zur Authentifizierung, ab. Es funktioniert aber nicht bei allen Clients Problemlos, einige bekommen einen Laufzeitfehler, es wird automatisch ein Redirect auf die Startseite gemacht und es steht folgendes im Ereignisslog des Webservers:

Exception information:
Exception type: SoapException
Exception message: System.Web.Services.Protocols.SoapException: Die Anforderung konnte vom Server nicht verarbeitet werden. ---> System.Data.SqlClient.SqlException: Fehler auf Übertragungsebene beim Senden der Anforderung an den Server. (provider: TCP-Provider, error: 0 - An existing connection was forcibly closed by the remote host.)
bei System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
bei System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
bei System.Data.SqlClient.TdsParserStateObject.ThrowExceptionAndWarning()
bei System.Data.SqlClient.TdsParserStateObject.WriteSni()
bei System.Data.SqlClient.TdsParserStateObject.WritePacket(Byte flushMode)
bei System.Data.SqlClient.TdsParser.TdsExecuteTransactionManagerRequest(Byte[] buffer, TransactionManagerRequestType request, String transactionName, TransactionManagerIsolationLevel isoLevel, Int32 timeout, SqlInternalTransaction transaction, TdsParserStateObject stateObj)
bei System.Data.SqlClient.SqlInternalConnectionTds.ExecuteTransactionYukon(TransactionRequest transactionRequest, String transactionName, IsolationLevel iso, SqlInternalTransaction internalTransaction)
bei System.Data.SqlClient.SqlInternalConnectionTds.ExecuteTransaction(TransactionRequest transactionRequest, String name, IsolationLevel iso, SqlInternalTransaction internalTransaction)
bei System.Data.SqlClient.SqlInternalConnection.BeginSqlTransaction(IsolationLevel iso, String transactionName)
bei System.Data.SqlClient.SqlConnection.BeginTransaction(IsolationLevel iso, String transactionName)
bei System.Data.SqlClient.SqlConnection.BeginTransaction()
bei RedualService.authentificateA(String vendorNo, String plz)
bei RedualService.LogOnAdmin(String vendorNo, String postleitzahl, Boolean& isPortalUserIxist)
--- Ende der internen Ausnahmestapelüberwachung ---

So wie ich es vertehe versucht die Anwendung, mit der gleichen Verbidung zum SQL-Server, Daten abzufragen und die Verbidung wurde iregendwie abgebaut und dann geht es nicht mehr....!?!?!?!

Hier die Funktion des Webservices:

private bool authentificateA(string vendorNo, string plz)
    {
        string SQLCommand;
        bool ret = false;
        SqlConnection sqlConn;
        SqlTransaction trans;
        SqlCommand cmd;
        SqlDataReader reader;


        sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["CompleteConnString"].ConnectionString);
        SQLCommand = string.Format(WebConfigurationManager.AppSettings["XXXX"], vendorNo, plz);
        SqlDataAdapter MyCommand = new SqlDataAdapter(SQLCommand, sqlConn);

        sqlConn.Open();
        trans = sqlConn.BeginTransaction();	//hier kracht es!!!!!!!!
        cmd = new SqlCommand();
        cmd.Connection = sqlConn;
        cmd.Transaction = trans;

        cmd.CommandText = SQLCommand;
        reader = cmd.ExecuteReader();
        if (reader.Read())
        {
            //.....
        }

        sqlConn.Close();

        return ret;
    }

Das komische daran ist - entweder geht es bei einem Teil der Clients immer und bei anderen wenigen geht es generell nicht!?!?
Wo liegt das Problem? Wie kann ich es nachbilden? Und wie krieg ich es behoben?

17.01.2008 - 10:02 Uhr

Hat sich erledigt...
Siehe hier.

17.01.2008 - 09:54 Uhr

Hallo!

Weis jemand wieso die Breite, bei dem FileUpload-Elemant, in Firefox nicht richtig dargestellt wird? Ich krieg es auch nicht hin den Elemnt mit <td align="center"><asp:FileUpload ID="FileUpload" .../> in einer Tabelle zu zentrieren!?!?!
Es funzt alles in IE aber nicht in Firefox! Was kann man machen?

16.01.2008 - 11:21 Uhr

Vielen Dank! 👍 👍 👍

16.01.2008 - 11:04 Uhr

Hallo Zusammen!

Ich habe eine allgemeine Frage zu der Ausführung eines Eventes in ASP.NET. Ich habe folgenden Event:


protected void Button_Click(object sender, EventArgs e)
{
  ladeDatenHoch();
  leseDatenInDBEin();
  benutzerBenachrichtigen();
}

Meine Sorge ist aber - ob der Code, innerhalb des Triggers, immer zu Ende ausgeführt wird.
Ich habe auch ein Test durchgeführt(Browser schließen während der Ausführung), indem ich zum Schluß eine E-Mail versende, soweit der Trigger zu Ende ist. Die eMail kommt auch bis jetzt immer an.
Die Frage ist - gibt es iregendwelche Ausnahmefälle wo die Ausführung des Triggers, durch den Benutzer, abgebrochen werden kann. Denn ich möchte sicher stellen, dass der Code innerhalb des Trigger immer zu Ende ausgeführt wird.

11.01.2008 - 09:40 Uhr

Genau Mutext oder Lock Konstrukte kann man ja allgemein einsetzten.
Oder was meinst du jetzt?

Klar, kann man machen - dies gilt aber nur innerhalb einer Session! Der Zugriff, auf eine gemeinsame Recourse, soll aber für alle Sessions auf dem Webserver gelten und dann könnte man doch mit den Application.Lock(); arbeiten wie ich finde.

11.01.2008 - 08:40 Uhr

Ich suche aber nach einen Allgmeinen Mutex-Konstrukt(nicht nur Dateizugrif) der in ASP.NET für jegliche Synchronisierung verwendet werden kann...

10.01.2008 - 18:33 Uhr

Gibt es dann einen Muster/Konstrukt, den man allgemein für alles nehmen könnte?

10.01.2008 - 16:36 Uhr

Korregiert mich bitte, wenn ich falsch denken sollte...

10.01.2008 - 08:28 Uhr

Ich glaube ich hab mich nicht zu Ende ausgesprochen: die Idee war, den ApplicationState für den Dateizugriff zu mißbrauchen:

Application.Lock();
Application["Lock"] = (!((bool)Application["Lock"]));//<----Dummy
//In die Datei schreiben...
Application.UnLock();

Weil der ApplicationState für alle Sessions und Benutzer gültig ist, oder verstehe ich was falsch? Die Idee ist aber auch, dass man dieses Konstrukt allgemein für alle kritische Codeabschnitte in ASP.NET nehmen könnte die nur sequenziel verarbeitet werden dürfen.

09.01.2008 - 16:19 Uhr

Kann man denn nicht einfach hiermit arbeiten?

31.12.2007 - 12:51 Uhr

Hi!
Wie wärs mit einem "besseren" Tabellennamen?
lg

....schön wärs.... würde aber noch mehr Arbeit verursachen....
Ich bleibe dann lieber bei dem String.Replace().

Danke &amp; schöne Feiertage!

31.12.2007 - 12:39 Uhr

Vorschlag: speichern mit "&amp;" und nach dem Einlesen String.Replace() anwenden.

Hab ich schon gemacht... Ich dachte nur man kann es iregendwie eleganter lösen...

31.12.2007 - 11:52 Uhr

SQL Server 2005 <bitte immer angeben>

Hallo zusammen,

ich habe ein kleines Konfigurationsproblem. In der web.config steht folgendes:

<add key="Table" value="Testtabelle & Test" />

Wobei "Testtabelle & Test" der Tabellenname ist, wegen den & ist die Konfigurationsdatei, für den XML-Parser, natürlich nicht lesbar. Weil dieser für den & den &amp; erwartet.
Wenn ich aber den & in den &amp; korregiere - mekkert der SQL-Server weil die Tabelle "Testtabelle &amp; Test" nicht kennt!

Wie kann man das Problem am besten lösen?

16.12.2007 - 17:36 Uhr

Ich verstehe es noch nicht so ganz.
Der Reader hat doch, an sich, gar kein Event und dem XMLDocument kann man auch kann Schema anhängen(so wie es du gezeigt hast)...
Hast du eventuell ein passendes Beispiel?
Mein Ziel ist es ein Vorhandenes XML-Dokument durch ein XSD durchzujagen und eventuelle Fehler auswerfen.

16.12.2007 - 16:57 Uhr

Beispiel:
The 'http://www..../wareneinausgangsys:belegdatum' element is invalid - The value '2007.01.01' is invalid according to its datatype 'http://www....../wareneinausgangsys:t_datum' - The string '2007.01.01' is not a valid XsdDateTime value.

16.12.2007 - 16:45 Uhr

Das Problenm ist, dass bei einem Fehler die XmlSchemaValidationException ausgelöst wird bevor überhaupt ein Event ausgelöst wurde. Weiter Prüfung findet dann nicht statt...
Ich bin nach diesen Beispiel hier gegangen.

15.12.2007 - 13:47 Uhr

Hallo zusammen!

Ich möchte mit der vorhandenen XSD-Schema den ganzen XML-Dokument "scannen". D.h. dass er nicht bei dem ersten Fehler die Exception werfen soll, sondern alle vorhandene Fehler, in der XML-Datei, prüfen und anzeigen.

Habt Ihr eine Idee wie man es machen könnte?

15.11.2007 - 16:10 Uhr

👍 👍 👍

Genau das was ich brauche!

14.11.2007 - 15:44 Uhr

Original von John Sanson
In der web.config kannst du Berechtigungen für einzelne Seiten setzen.

Kannst du mir ein Beispiel geben wie das XML auszusehen hat?

14.11.2007 - 13:10 Uhr

Hallo zusammen!

Auf dem "Login"-Control kann man einen Link auf die andere Seite setzen wo man einen neuen Passwort anfordern kann (Eigenschaft "PasswordRecoveryURL"). Da aber auf der Website Forms-Athentifizierung "eingeschaltet" ist - wird automatisch ein Redirect auf die Login-Page gemacht.

Wie kann man es umgehen?

14.11.2007 - 09:02 Uhr

Die Notwendigkeit den Text in der Textbox rechtsbündig zu erscheinen finde ich persöhnlich auch Unsinn. Aber auch wenn die Kundenanforderung lautet - "Text muss mittig erscheinen" 8o - und der Kunde durch nichts anderes zu überzeugen ist, dann muss diese umgesetzt werden. Lieder X(

13.11.2007 - 16:11 Uhr

Original von marco.b

>

Schade, dass es mit dem FileUpload so nicht funzt...

13.11.2007 - 15:57 Uhr

Hi Peter!
Ich bin da eigentlich auch deiner Meinung! Aber so lautet nun mal die Anforderung...

13.11.2007 - 14:58 Uhr

Hallo zusammen!

Habt Ihr eine Idee wie man den Text(Dateipfad) in einem FileUpload-Element rechtsbündig erscheinen lässt?

02.11.2007 - 11:03 Uhr

verwendetes Datenbanksystem: MS SQL Server 2005

Hallo zusammen!

Gegeben ist folgende XML-Datei:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<wme-fact xmlns="http://www.dsd-ag.de/wme-fact/transfer/begleitscheinsys" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.dsd-ag.de/wme-fact/transfer/begleitscheinsys begleitscheinsys.xsd">
<kopf>
XXXX
</kopf>
</wme-fact>

Und folgendes XPath-Code:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" />
<xsl:template match="/">
.....
</xsl:template>
</xsl:stylesheet>

Der XPath soll aus dem XML-Dokument die Namespaces raus nehmen.
Mein Problem ist - wie soll ich es in .NET umsetzen? Wo fange ich an?

Währe sehr dankbar für Eure Hilfe!

29.10.2007 - 17:08 Uhr

Danke Peter!

Die Idee ist aber - über einen FileUpload-Element eine LsitBox mit Dateipfaden zu füllen, um die Dateien anschließend hoch zu laden. Wie kann man jetzt also einen Triger ausführen der meine ListBox füllt? Oder kann man somit nur JavaScript ausführen?

29.10.2007 - 16:10 Uhr

Hallo zusammen!

Wie kann ich beim FileUpoad erkennen wann der "Datei Auswählen"-Vorgang abgeschlossen ist? D.h man klickt auf "Durchsuchen", man wählt die Datei aus, man klickt auf Button "Öffnen" -> wie erkenne ich das Ende dieses Vorganges?

10.10.2007 - 09:16 Uhr

Siehe auch hier - ist zwar für VS 2003, funktioniert aber so ähnlich.

09.10.2007 - 09:18 Uhr

Hallo zusammen!

Womit kann man eigentlich solchen Ausnahmefall:

<maintag>
(haha!imusingtheinternet!

<tag>value</tag>
</maintag>

In XML erkennen?

23.09.2007 - 11:31 Uhr

Das Problem ist - ich habe keinen Einfluß auf das Auslesen der Messages diese müssen in der richtigen Reihenfolge, mit einem bestimmten Ihalt gefüllt sein. Ich werde es dann wahrscheinlich so lösen, dass ich den Zustand einfach in der DB oder Datei speichere und dementsprechend Sperrungen setze.

22.09.2007 - 21:06 Uhr

Wenn ich, also, dich richtig verstanden habe, dann gibt es keine Möglichkeit einer Funktion so zu gekennzeichnen dass diese nur sequentiell verarbeitet wird. Ich muss also diese Logik iregendwie selbst implementieren.
Die Queue ist ein externer Dienst und die Herausforderung liegt daran, dass die Einträge immer in der gleichen Reihenfolge vorliegen X(

21.09.2007 - 14:42 Uhr

Ich galube das müsste aber reichen:


using System.Web.UI.WebControls;
......
public partial class _Default : System.Web.UI.Page
{
 public static string lockvar = string.Empty;
....
    protected void Button_Click(object sender, EventArgs e)
    {
     ...
      lock (lockvar)
      {
         for(int i=0;i<4;i++)
        {
           //In die Queue schreiben
        }
      }
    }
}

Was meint Ihr?

20.09.2007 - 18:49 Uhr

Es ist eigentlich ganz einfach, es gibt eine Funktion mit einer Schleife drin:


using System.Web.UI.WebControls;
......
public partial class _Default : System.Web.UI.Page 
{
....
    protected void Button_Click(object sender, EventArgs e)
    {
     ...
      for(int i=0;i<4;i++)
      {
         //In die Queue schreiben
      }
    }
}

Also wenn die Funktion/Event Button_Click(...) ausgeführt wird, dann soll die Verarbeitung sequentiell auf dem Webserver passieren. D.h. das wenn sich zwei Benutzer angemeldet haben und gleichzeitig auf den Button klicken dann soll diese Funktion nicht in einzelnen Threads sondern sondern sequentiell verarbeitet werden. Ich möchte somit verhindern dass die Einträge in der Message Queue nicht durcheinander kommen.

20.09.2007 - 11:31 Uhr

Ich möchte auf eine MS Message Queue schreiben. Dabei ist die Reihenfolge der gespeicherten Messages von großer Bedeutung. Die Messages werden innerhalb einer Funktion in der Schleife reingeschrieben.

19.09.2007 - 17:14 Uhr

Hallo zusammen!

Kann man eigentlich einer Funktion (in einer ASP.NET-Anwendung) sagen, dass diese, auf dem Webserver, nur seriell verarbeitet werden darf?

19.09.2007 - 08:42 Uhr

_Original von Rainbird_Manche leute ändern aber auch den Standard-Port ab.

Wie bzw. wo kann man es sehen?

19.09.2007 - 08:41 Uhr

Hallo zusammen!

Vielleicht ist es nicht der richtige Farge in diesen Forum, aber ich frage einfach mal, vielleicht kennt da jemand eine Lösung. Ich möchte eine Website mit SSL verschlüsseln; jetzt habe ich ein Zertifikat bekommenm, dieser sieht wie folgt aus:

-----BEGIN CERTIFICATE-----
......................
...............
.......
-----END CERTIFICATE-----

-----BEGIN RSA PRIVATE KEY-----
.............
.........
......
-----END RSA PRIVATE KEY-----

Dann bekomme ich noch einen Passwort zu dem Zertifikat.
Die Frage ist jetzt - wie richte ich diesen Zertifikat auf den IIS ein?
Im Internet habe ich dazu direkt nichts gefunden 🤔

18.09.2007 - 17:33 Uhr

Hallo zusammen!

Kann mir jemand genau sagen welche Ports der SQL-Server 2005 nutzt und wie ich einen ConnectionString zu dem aufbaue?

Ich gehe immer von dem Port 1433 aus mit folgenden ConnectionString:
Data Source=AAA.BBB.CCC.DDD:1433;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

Ist es so korrekt?