Задать вопрос
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.

Как отладить падающую службу

Есть wcf служба, использующая 32 битный сторонние Dll.

Она прерасно работает на IIS express, потому что он 32 битный изначально. Есть iiS8 он изначально 64 битный. В нем есть галочка enable32 bit application, но с этой галочкой служба падает. Падает так что не выводить в браузер ничего. Вопрос. Куда тыкаться то дальше?
  • Вопрос задан
  • 4435 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 5
dima_horror
@dima_horror
Личный опыт написания служб:
Глобально перехватывать исключения, и при отлавливании, либо писать в Журнал событий, либо писать в файл.
Ответ написан
Комментировать
Alexufo
@Alexufo Автор вопроса
противоречивый, сложный, весь компьютерный.
Отвечаю сам спустя сколько то там лет

Для отладки используем конфиг.
stackoverflow.com/questions/4271517/how-to-turn-on...
<system.diagnostics>
        <sources>
            <source name="System.ServiceModel" 
                    switchValue="Information, ActivityTracing"
                    propagateActivity="true">
                <listeners>
                    <add name="xml" />
                </listeners>
            </source>
            <source name="CardSpace">
                <listeners>
                    <add name="xml" />
                </listeners>
            </source>
            <source name="System.IO.Log">
                <listeners>
                    <add name="xml" />
                </listeners>
            </source>
            <source name="System.Runtime.Serialization">
                <listeners>
                    <add name="xml" />
                </listeners>
            </source>
            <source name="System.IdentityModel">
                <listeners>
                    <add name="xml" />
                </listeners>
            </source>
        </sources>

        <sharedListeners>
            <add name="xml"
                 type="System.Diagnostics.XmlWriterTraceListener"
                 initializeData="C:\PerfLogs\Traces.svclog" />
        </sharedListeners>
    </system.diagnostics>


проблема ушла при переезде на IIS8.5 в winserver2012
Ответ написан
Комментировать
difiso
@difiso
В параллельной вселенной я космонавт
Как вариант можно журнал событий посмотреть: Управление компьютером — Служебные программы — Просмотр событий — Журналы Windows.

Там может быть что-то пишется системой или самой службой перед падением.
Ответ написан
neru
@neru
А сама служба собрана, случаем, не под «Any CPU»? Попробуйте сбилдить под 32 bit.
Ответ написан
@mayorovp
1. Попробуйте сделать self-host-службу. На ней такой проблемы не может быть по определению.

2. Если вам нужно подключить к службе отладчик, но вы не успеваете это сделать из-за падения службы, то найдите в службе точку, которая однозначно успевает выполняется (скорее всего, это будет какой-нибудь конструктор), и добавьте туда код Debugger.Attach()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы