• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    VERLIBA
    VERLIBA --- ---
    LIRO: nemas zac, hledal jsem to 10 vterin
    LIRO
    LIRO --- ---
    VERLIBA: Moc díky, pročet jsem snad 20 diskusí, ale takhle jednoduchý a jasný řešení ne a ne najít. Někdy je ten google děsná potvora. Moc díky
    LIRO
    LIRO --- ---
    Ahoj,
    mám takovej lama dotaz, potřeboval bych u DropDownListu u funkce SelectedIndexChanged aby se skočilo na kotvu ve stránce, aniž bych musel použít Redirect. Nemáte někdo nápad jak to provést, už jsem koukal po netu, ale nic kloudnýho jsem nenašel.
    Předem moc díky.
    MILL
    MILL --- ---
    PECA:

    Já jsem skončil u konfigurace WCF service přes kód

    public abstract class BaseService<T> where T : IService, new()
    {
    private static readonly Lazy<T> instance = new Lazy<T>(() => new T());

    private ServiceMetadataBehavior serviceBerhavior;
    private ServiceDebugBehavior serviceDebugBerhavior;
    private ServiceHost serviceHost;

    private string serviceName;
    private string baseUrl;

    protected BaseService()
    {

    }

    public static T Instance
    {
    get
    {
    return instance.Value;
    }
    }

    public IService GetBaseInstance()
    {
    return instance.Value;
    }

    public virtual void Start<T>(string serviceName, string baseUrl)
    {
    this.serviceName = serviceName;
    this.baseUrl = baseUrl;

    var type = typeof(T);

    this.serviceBerhavior = new ServiceMetadataBehavior
    {
    HttpGetEnabled = true,
    MetadataExporter =
    {
    PolicyVersion =
    PolicyVersion.Policy15
    }
    };

    this.serviceHost = new ServiceHost(type, new Uri(this.baseUrl + "/" + this.serviceName));
    this.serviceHost.Description.Behaviors.Add(this.serviceBerhavior);

    var debug = this.serviceHost.Description.Behaviors.Find<ServiceDebugBehavior>();

    if (debug == null)
    {
    this.serviceHost.Description.Behaviors.Add(
    new ServiceDebugBehavior { IncludeExceptionDetailInFaults = true });
    }
    else
    {
    if (!debug.IncludeExceptionDetailInFaults)
    {
    debug.IncludeExceptionDetailInFaults = true;
    }
    }

    this.serviceHost.AddServiceEndpoint(type, new BasicHttpBinding(), string.Empty);
    this.serviceHost.AddServiceEndpoint(ServiceMetadataBehavior.MexContractName, MetadataExchangeBindings.CreateMexHttpBinding(), "mex");
    this.serviceHost.Open();
    }

    public virtual void Stop()
    {

    this.serviceHost.Close();
    this.serviceHost = null;
    }

    public void SetBaseUrl(string baseUrl)
    {
    if (string.IsNullOrEmpty(this.baseUrl))
    {
    this.baseUrl = baseUrl;
    }
    else
    {
    throw new InvalidOperationException("BaseUrl already set");
    }
    }

    public void SetServiceName(string serviceName)
    {
    if (string.IsNullOrEmpty(this.serviceName))
    {
    this.serviceName = serviceName;
    }
    else
    {
    throw new InvalidOperationException("ServiceName already set");
    }
    }
    }
    NECROMAN
    NECROMAN --- ---
    PECA: WCF je zlo, zlate REST API napsane v Nancy FX vracejici Json.
    SLUPKA
    SLUPKA --- ---
    PECA: A vypnutí všech autorizací pro přidání nepomůže?
    PJOTRIK
    PJOTRIK --- ---
    PECA: aha, v tom pripade ti to samozrejme nepomuze
    PECA
    PECA --- ---
    PJOTRIK: Počkej, jestli myslíš hosts file v systému, tak to je mi k ničemu. ta služba se bude normálně volat ze SW u zákazníků. Těm jaksi nemůžu ordinovat zápisy do hosts fajlu :-)
    PECA
    PECA --- ---
    PJOTRIK: Můžeš prosím tě nastřelit jak, nebo co hledat v googlu? Přiznávám - vím o tom kulový. Dostal jsem zadání, k webu dodělat službu, která zavolá stejný výpočet, který se zavolá, když si to tam uživatelé nakliká ručně. Zatímco konzumaci služeb zvládám, tak zveřejnění WS dělám poprvé a dost zmateně tápu... Pochopitelně že je potřeba "mít to hotový nejlíp včera".
    PJOTRIK
    PJOTRIK --- ---
    PECA: jen napad - upravit hosts file by nepomohlo?
    PECA
    PECA --- ---
    Potřeboval bych pomoc s roztlačením webservice. Napsal jsem si (celkem primitivní) web service. Možná to bude problém konfigurace ISS, nebo spíš nastavení web.config aplikace (služby), ale fakt netuším.
    Služba klasicky vraci WSDL, jenže uvnitř je interní adresa serveru, nikoli adresa viditelná z internetu. Konkrétně: http://server.aginfo.cz/epstest/Service.svc?wsdl
    Ve vnitřní síti server vidím jako http://ag2008.firma.aginfo.cz a na této adrese mi to i funguje, ale jakmile to zavolám zvenku, tak v browseru se sice wsdl zobrazí, ale při pokusu o přidání služby do WCF Test Clienta to napíše: "Failed to add a service. Service metadata may not be accessible. Make sure your service is running and exposing metadata." Ve web.config mám toto:
    <behaviors>
    <serviceBehaviors>
    <behavior name="">
    <serviceMetadata httpGetEnabled="True"/>
    </behavior>
    </serviceBehaviors>
    </behaviors>

    Zkoušel jsem upravit konfiguraci, podle toho, co se mi podařilo vyčíst z helpu a pomocí googlu z netu, ale vyhodí mi to do browseru tohle: Chybová zpráva analýzy: Neexistuje chování koncového bodu nazvané ServiceBehaviors.
    web.config obsahuje toto:
    <services>
    <service name="Service" behaviorConfiguration="ServiceBehaviors" >
    <endpoint address="http://server.aginfo.cz/epstest/Service.svc" binding="basicHttpBinding" behaviorConfiguration="ServiceBehaviors" contract="IService" />
    </service>
    </services>
    <behaviors>
    <serviceBehaviors>
    <behavior name="ServiceBehaviors">
    <serviceMetadata httpGetEnabled="true" httpGetUrl="http://server.aginfo.cz/epstest/Service.svc"/>
    <serviceDebug includeExceptionDetailInFaults="true" />
    <serviceAuthorization principalPermissionMode="UseAspNetRoles" roleProviderName="FbRoleProvider" />
    </behavior>
    </serviceBehaviors>
    </behaviors>

    Nějaké rady, doporučení? :-(
    BUTHRAKAUR
    BUTHRAKAUR --- ---
    SLUPKA: jo, mas pravdu vlastne - plnohodnotnej Thread prezije (do recyklace poolu)..
    SLUPKA
    SLUPKA --- ---
    VIRTUALVOID: pokud máš zaplé impersonation, tak pak záleží jestli máš nějaké omezení (třeba jen na nějaké uživatele). jinak, když dojde k impersonaci, tak pouze na tom vlákně, které obsluhuje request (když uděláš něco třeba na threadpoolu, tak tam bude vlákno běžet opět pod defaultním uživatelem (tím, co je nastaveno v app poolu).
    VIRTUALVOID
    VIRTUALVOID --- ---
    NECROMAN: sharepoint to nieje, ale app ma nastaveny windows auth, a asp.net impersonation. a celkom ma myli kde je to pod akou identitou.
    NECROMAN
    NECROMAN --- ---
    VIRTUALVOID: Pokud se jedna o SharePoint, tak tam muzes pouzit impersonaci a "vydavat" se u urcite operace za jineho usera, ale to asi neni tvuj pripad.
    SLUPKA
    SLUPKA --- ---
    VIRTUALVOID: ten zvolený - "networkService"
    VIRTUALVOID
    VIRTUALVOID --- ---
    NECROMAN: jasne, ale ten pool ma identitu toho uzivatela, ci toho networkService ?
    NECROMAN
    NECROMAN --- ---
    VIRTUALVOID: kazdy app pool bezi pod zvolenym uctem a pod pravy tohoto uctu muze vykonavat operace, jako treba pristupovat k souborum a pod, pokud se nepletu.
    SLUPKA
    SLUPKA --- ---
    BUTHRAKAUR: ale to je limit pro request... po tom čase ti to zabije vlákno, které obsluhuje request...
    Kliknutím sem můžete změnit nastavení reklam