» »

[C#] Pravice za spreminjanje in restore baze

[C#] Pravice za spreminjanje in restore baze

nuclear ::

Zdravo. Zanima me, kakšne pravice je potrebno nastaviti, da ima aplikacija pravico programsko recimo spremeniti Web.config ali pa restorat podatkovno bazo iz backupa programsko.

Zadeva na razvojni mašini deluje BP, zdaj sem dal na strežnik kjer mamo strani gor, in stvar se ne izvede.

Problem pa je da ne morem catchat exceptiona, ker je metoda WebMethode in uporabljam jQuery.Ajax() za izvedbo posta, z firebugom pa mi nikakor ne uspe pridobit errora, oziroma sploh mi ni jasno kako firebug uporabit.

Sem si postavil breakpointe, ampak ni nobenih vrednosti nikol.

Če ma kdo kako idejo :)

lp
Corsair 750D - VI Hero - i5 4670k - Corsair Dominator 32GB - 1080Ti - EVO 500GB
- Sabrent 1TB nVME - Corsair AX860i - Ducky Shine 3 Brown

nightrage ::

Ubistvu lahko debuggiraš na remote (poglej si malo remote debugging), poleg tega pa tudi če je metoda WebMethod (sklepam, da imaš kakšen web servis), lahko catch-aš exception. Pač na catch exception zašišeš v datoteko.

nuclear ::

Problem je ker imam express verzijo :( In me to zdej ubija, moram druge poti za rešitev najti. Zlo zlo zlo zabito.

WebMethod uporabljam zaradi ajaxa, da lahko proži POST(jQuery.Ajax()) v povezavi z asp.net metodami.

Recimo čisto osnovni primer:

WebMethode:
        /* preverjanje polnosti gesla */
        [System.Web.Services.WebMethod]
        public static string preveriGeslo(string geslo)
        {

            string returnValue = string.Empty;

            try
            {

                if (geslo.equals(!String.isEmptyOrNull())
                {
                    returnValue = "true";

                }
                else if (geslo.equals(String.isEmptyOrNull())
                {
                    returnValue = "prazen";
                }
            }

            catch
            {

                returnValue = "error";

            }
            return returnValue;
        }


ajax post
function preveriGeslo() {

            jQuery.ajax({

                type: "POST",

                url: "Default.aspx/preveriGeslo",

                data: '{geslo: "' + jQuery("#<%=txtPassword.ClientID%>").val() + '" }',

                contentType: "application/json; charset=utf-8",

                dataType: "json",

                success: OnSuccessGeslo,

                failure: function(response) {

                    alert(response);

                }

            });

        }


Aha torej daš pri catch da zapiše v fajl. Ker sem recimo sprobaval z kakim alertom od JS prikazat exception in ni nič vrglo ven. To je bol laikovsko blo ampak.. Zato sprašujem.

Mam še eno dilemo, ki me zanima.

App mam na IP.18, bazo na IP.17 . Mam backup, da restoram bazo in me zanima, če dam backup na IP.17 kjer so baze, bo metoda restore() v app, ki je na IP.18 vzela tisti path na tem IP.17 strežniku? Zlo sm zmeden tule. Bazo ustvari, restora pa ne, ker verjetno ne najde fajla na IP.17, ravno zrat nezmožnosti debuganja sploh ne morm vedet.
Corsair 750D - VI Hero - i5 4670k - Corsair Dominator 32GB - 1080Ti - EVO 500GB
- Sabrent 1TB nVME - Corsair AX860i - Ducky Shine 3 Brown

Zgodovina sprememb…

  • spremenil: nuclear ()

nightrage ::

Evo to je ekvivalent tvoji funkciji z manj in bolj pregledne kode. Pri web servisu na metodi pač throwaš exception, ki ga potem v Default.aspx
uloviš in ga podaš naprej ajax klicu.

Drugi problem nisem ravno razumel, mislim pa da govoriš o connection stringu, ki ga aplikacija naredi v app.config datoteki. Pač v connection stringu
nastaviš pot do željenega strežnika in podatkovne baze.

[System.Web.Services.WebMethod]
public static bool preveriGeslo(string geslo)
{  
    try
    {
         if (!string.IsNullOrEmpty(geslo))
             return true;

         return false;
    } 
    catch (Exception ex)
    { 
       //Logger.LogException(ex); -> logerja moraš napisat sam, da ti beleži v bazo al pa v txt datoteko
       throw new Exception("Napaka pri preverjanju gesla"); 
    }    
}

Zgodovina sprememb…

nuclear ::

Throw new exception.. Si sigurn, da bo to kej izpisal na strani?

throw new Exception(ex.Message);

Sem že sprobaval te finte, in ne prikaže napake nobene na vrhu strani..

Ne morm zdej sprobat, ker nisem na developer mašini.
Corsair 750D - VI Hero - i5 4670k - Corsair Dominator 32GB - 1080Ti - EVO 500GB
- Sabrent 1TB nVME - Corsair AX860i - Ducky Shine 3 Brown

nuclear ::

No v glavnem, če bo komu pomagalo.
Za delo z bazo brez SMO dlljev ne bo šlo programsko.

Je blo z muko odpravljeno, ker ni možnosti remote debuggerja, vendar pa, če bodo zezali kakšni permissioni probajte disablati UAC na strežniku, dodat impersonate v web.config...
Corsair 750D - VI Hero - i5 4670k - Corsair Dominator 32GB - 1080Ti - EVO 500GB
- Sabrent 1TB nVME - Corsair AX860i - Ducky Shine 3 Brown


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[JAVA] HTTPS client

Oddelek: Programiranje
173074 (1804) peterv6i
»

[Java] Urejanje baze z JTable

Oddelek: Programiranje
8957 (741) vonNeumann
»

Masterpage in jQuery(ajax call)

Oddelek: Programiranje
61222 (1050) hatchette
»

[c# ASP.net Web Services] There is an error downloading XML document.

Oddelek: Programiranje
91101 (1069) 64202
»

read integer v javi

Oddelek: Programiranje
91312 (1213) kopernik

Več podobnih tem