2009-11-06 184 views
0

是否有可能設置SQL Server與Web服務來接收和存儲的數據完全繞過IIS/ASP.NET層?Web服務和SQL Server 2005

我知道這是可以設置通過HTTP終點的網絡服務和回報等要求的數據,但我似乎無法找到例子,說明了相反的過程。

回答

1

是的,一個例子here (devx)MSDN article

編輯:

奈發現它的SQL Server之後,棄用2008年。這other BOL文章說:

計劃轉換你的exis婷 SOAP/HTTP端點,以使用Windows 通信基礎(WCF)或ASP.NET 。

+0

@gbn:啊輝煌。我的谷歌技能讓我失望了。一件事。這裏的msdn文檔(http://msdn.microsoft.com/en-us/library/ms191310.aspx)顯示監聽Web服務請求將被棄用。如果使用SQL Server 2008,您是否有任何解決方法的建議? – super9 2009-11-06 20:13:36

0

以下網址將有助於瞭解在安裝過程。

http://codebetter.com/blogs/raymond.lewallen/archive/2005/06/23/65089.aspx

http://www.devx.com/dbzone/Article/28525/0/page/1

存儲過程

使用的AdventureWorks 去

create procedure dbo.GetEmployees 
As 
select e.employeeid, e.title, c.FirstName + ‘ ‘ + c.Lastname As Fullname from HumanResources.employee e 
inner join person.contact c 
on e.contactid = c.contactid 
go 

創建端點

使用的AdventureWorks 去

CREATE ENDPOINT GetEmployees 
    STATE = STARTED 
AS HTTP 
(
    PATH = '/Employee', 
    AUTHENTICATION = (INTEGRATED), 
    PORTS = (CLEAR), 
    SITE = 'localhost' 
) 
FOR SOAP 
(
    WEBMETHOD 'EmployeeList' 
     (NAME='AdventureWorks.dbo.GetEmployees'), 
    BATCHES = DISABLED, 
    WSDL = DEFAULT, 
    DATABASE = 'AdventureWorks', 
    NAMESPACE = 'http://AdventureWorks/Employee' 
) 
go 
0

答案 - 如果你不想去與已過時位 - 是使用WCF。

如果你需要做的,從MS應用新的「網絡服務」,你應該使用WCF(雖然它略低於asp.net web服務更緊張 - 它也有很多更強大)。我已經將「web-services」放在引號中,因爲您不僅限於使用WCF的基於http的協議。

在這方面,關鍵的一點是,WCF應用程序可以自行託管所以你減少你的IIS上的依賴。我認爲這可能是一個更明確的要求 - 你顯然有特定的限制,你試圖解決 - 可能會導致更好的答案