DLL веб-службы и ссылка на веб-службу - PullRequest
0 голосов
/ 13 января 2011

Я особенно новичок в разработке веб-сервисов. У меня есть существующий веб-сервис, который мне нужно повторить, потому что в настоящее время он не работает,

Веб-сервис имеет ссылки на класс DLL

<%@ WebService Language="C#" Class="MyClass"%>

вот и весь контент ... и у него есть MyClass.dll, расположенный в папке bin

Что я сделал, так это поместил класс MyClass в сам веб-сервис ....

<%@ WebService Language="C#" Class="MyClass"%>

using System;
using System.IO;
using System.Data;
//...

[GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[WebServiceAttribute(Namespace = "http://service.search.lsc.slacker.com")]
[WebServiceBindingAttribute(Name = "TLSCSoap22Binding", Namespace = "http://service.search.lsc.slacker.com")]
public class MYClass: System.Web.Services.WebService
{    
    //...
}

и это сработало, проверило все функции и все заработало как положено.

Однако мне нужно увидеть все последствия, прежде чем предлагать это решение, я мог бы упустить преимущества ссылки на dll вместо этого

Обратите внимание, что я не могу спросить предыдущего разработчика, почему он был инкапсулирован в файл DLL и я точно знаю, что эта DLL не будет использоваться другими внешними приложениями. это было создан исключительно для веб-сервиса.

Итак, мой вопрос: почему старый разработчик создал dll для хранения класса и использования веб-службой, а не просто веб-службой?

Ответы [ 3 ]

1 голос
/ 13 января 2011

Возможно, первоначальное намерение разработчика заключалось в том, чтобы распространить функциональность на несколько библиотек DLL и веб-службы в качестве шлюза для всех библиотек DLL?

0 голосов
/ 13 января 2011

Может быть несколько причин.Первоначальный разработчик, возможно, намеревался поставить черный ящик для внешнего использования.Возможно, у другого разработчика был специально изготовленный жгут "в банке" для тестирования библиотек такого типа.Предварительно скомпилированные dll немного более безопасны во время SDLC, потому что промежуточные агенты не могут влиять на код позади.Код в веб-сервисе, который не скомпилирован, может быть отредактирован случайно (или даже со злым умыслом).

В конце концов, это могло быть предпочтением парня.Решение действительно является довольно произвольным, если на вас не влияет какой-либо внешний фактор.

0 голосов
/ 13 января 2011

Если предыдущий разработчик создал веб-сервис в Visual Studio, используя один из предопределенных шаблонов веб-сервисов - модель с выделенным кодом - это то, как проект был бы структурирован из коробки.

В вашем примере исходная страница asmx не ссылается на класс с использованием пространства имен классов. Отсутствие пространства имен в ссылке MyClass могло вызвать проблемы с некорректно работающей службой (хотя это всего лишь предположение, потому что вы на самом деле не предоставили намного больше информации, чем «служба не работает»).

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...