Re[9]: Windows vs Lunux (люди)
От: vvaizh http://izh-test.sourceforge.net/
Дата: 06.08.03 16:02
Оценка:
Здравствуйте, Plutonia Experiment, Вы писали:

PE>Здравствуйте, vvaizh, Вы писали:


PE>>>Имея COМ можно написать тыщи скриптов консольных. Поставь для интереса IIS и посмотри, как там сделано.


V>>Ещё раз напоминаю, что я это уже делал (именно для IIS)..

V>>на материяльной основе..
V>>И знаю, какая это жопа..

PE>Расскажи, как ты это делал ?


Писал DCOM объект на C++
для запуска удалённо из ColdFusion.. (система хостинга)

вот реальный фрагмент:

HRESULT CInternalIISObj::CreateSiteRedirect
            (BSTR TargetComputer, BSTR IIsService, BSTR SiteName, BSTR HostName)
{
    HRESULT hr; //    код возврата

    _bstr_t iiss(IIsService, false);
    int isWWW =   (iiss==_bstr_t("www"));
    if(!isWWW && !(iiss==_bstr_t("ftp")))
        return ERROR_INVALID_FUNCTION;

    _bstr_t objURL = _bstr_t("IIS://") +TargetComputer+ (isWWW ? "/W3SVC" : "/MSFTPSVC");

            CComPtr<IADsContainer> pADsContainer;
    hr = ADsGetObject(objURL, IID_IADsContainer, (void**)&pADsContainer);
            if(hr!=S_OK)    return hr;

            long index;
    hr = FindSite(pADsContainer, SiteName, &index);
            if(hr!=S_OK)    return hr;

    unsigned short buf[40]; ;
    
            CComPtr<IDispatch> pDispatch;
    hr = ADsGetObject(objURL + "/" + _ltow(index, buf, 10),
                        IID_IADs, (void**)&pDispatch);
            if(hr!=S_OK)    return hr;

            CComPtr<IADsContainer> pADsContainer1;
    hr = pDispatch->QueryInterface(IID_IADsContainer,(void**)&pADsContainer1);
            if(hr!=S_OK)    return hr;

            CComPtr<IDispatch> pDispatch1;
    hr = pADsContainer1->GetObject(isWWW ? L"IIsWebVirtualDir" : L"IIsFTPVirtualDir", 
                                    L"Root",(IDispatch**)&pDispatch1);
            if(hr!=S_OK)    return hr;

    if(strcmp(_bstr_t(HostName),"*")!=0)
        PutProp(pDispatch1,L"HttpRedirect",HostName,hr);        
    else{
        VARIANT var;
        VariantClear(&var);
        V_VT(&var)=VT_NULL;
        PutPropEx(pDispatch1,ADS_PROPERTY_CLEAR,L"HttpRedirect",var,hr);
    }

    return S_OK;
}


PE>Верю. Только мне пришлось настраивать свои тулы просто что запускались, прописывать фолдеры, устанавливать права юзерам , назначать порты. Все это я сделал в IIS мышой.

PE>Во всех демонах, что я настраивал, единого интерфейса нет, который покрывает ВСЕ базовые потребности.
ага.. может это ты не до конца разобрался..
всё что ты перечислил (кроме может быть портов)
натсраивается через httpd.conf
да и порты вообще непонятно зачем ты пользователям раздавал..
чем 80-й то порт не устраивает?

А с правами пользователей под win вообще полная жопа..
Тут тебе вообще не стоило заикаться..
http://izh-test.sourceforge.net/russian/introduction.html
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.