Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Extra valideringar

Postades av 2008-06-23 16:26:00 - Martin Adrian, i forum c# (c-sharp), Tråden har 7 Kommentarer och lästs av 832 personer

Jag har ett klassbibliotek där jag lagt till en hel del extra valideringar. Det är ganska avancerade valideringar av data mot externa källor som gör att metoderna tar många gånger längre tid att utföra.

Det finns ingen anledning att ha utföra valideringarna i produktion.

Hur distribuerar man enklast klassbiblioteket? Att ha två versioner verkar mest stöka till det eftersom man då måste referera till olika dll:er i debug och release build.

I nuläget har jag en statisk medlem som användaren kan sätta i sin egen kod med
#if DEBUG
Class.DisableDebugValidation = false;
#endif

Finns det något standard eller rekommenderat sätt?


Svara

Sv: Extra valideringar

Postades av 2008-06-23 21:27:30 - Samuel Adolfsson

Du skulle kanske kunna använda Conditional methods. Det finns en bra beskrivning på MSDN:
http://msdn.microsoft.com/en-us/library/aa288458(VS.71).aspx


Svara

Sv:Extra valideringar

Postades av 2008-06-24 08:57:41 - Martin Adrian

Jag tittade på det tidigare men vad jag förstår så kan jag inte använda det.

Conditional methods används vid kompileringen men min assembly är ju redan kompilerad. Jag skulle behöva liknande funktionalitet fast run-time. (dvs ett attribut som endast är aktivt om huvudmodulen har DEBUG aktiverat)

Skulle kunna definiera ett eget assembly attribut men det blir ju ungefär samma sak som den statiska flaggan jag har idag.


Svara

Sv: Extra valideringar - Konfigurationsinställning

Postades av 2008-06-25 15:07:27 - Jon Wiberg

Det låter som att du skulle kunna använda ngn konfigurationsinställning.

Tex då från app.config / web.config
och där försöka läsa ut ett eget element..
...finns det inte så kör du default = produktion
finns elementet läses värdet ut och står där debug så körs inte den extensiva valideringen.

// Hoppas detta löser ditt problem
Lycka till!


Svara

Sv: Extra valideringar

Postades av 2008-06-25 18:14:38 - Göran Gustafsson

Om du är ensam utvecklare kan du testa om programmet körs på just din maskin (annars kanske du kan testa på domännamn eller liknande):

using System;
using System.Text;
using System.Runtime.InteropServices;
using System.Management;
:
:
private void registered(){
try{
string s=GetCPUId();
if(s=="BFEBFBFF00760F29") //id för din cpu
debug = true;
else
debug = false;
}catch{

}

private static string GetCPUId() {
string cpuInfo = String.Empty;
string temp=String.Empty;
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo in moc) {
if(cpuInfo==String.Empty) {
// only return cpuInfo from first CPU
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
}
}
return cpuInfo;
}

Koden har jag hittat på msdn.


Svara

Sv: Extra valideringar

Postades av 2008-06-25 22:43:13 - Magnus Bergström

du behöver väl inte låta användaren sätta detta?

Jag tycker din nuvarande teknik funkar utmärkt, finns ingen anledning till att koden ens ska kunna vara tillgänglig om koden inte är kopilerad i debug-mode.


Svara

Sv:Extra valideringar

Postades av 2008-06-26 11:15:08 - Martin Adrian

Jo det är användaren av klassbiblioteket som skall använda inställningen. Jag som utvecklar har inga problem eftersom jag använder en projektreferens och då blir även klassbibiloteket i debug när applikationen är det.

Funderade på att använda DebuggableAttribute men det verkar inte finnas något säkert sätt att få reda på vilken assembly som använder mitt klassbibliotek. GetEntryAssembly fungerar inte med COM vilket är ett användningsområdena för biblioteket. Skulle kunna använda GetCallingAssembly vid varje anrop men det känns lite omständigt.

Låter det vara kvar som det är.


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 707
27 958
271 751
850
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies