c# - SQL Server CLR: cómo llamar al servicio WCF en CLR Procedimiento almacenado SQL en el proyecto de la base de datos de Visual Studio 2013
sql-server-2012 sqlclr (2)
Tengo Visual Studio 2013.
Creé un proyecto de base de datos.
Agregué un procedimiento almacenado CLR a ese proyecto, y quiero llamar a un servicio WCF desde allí.
¿Alguien puede ayudarme?
Deseo poder cambiar la dirección del servicio sin cambiar mi ensamblado, de manera similar a lo que puedo hacer en web.config
con la sección del endpoint
de mi configuración de cliente WCF.
Encontré esto después de mucha búsqueda y paso mucho tiempo en esto en VS 2014
- Crear
Database Project
llamado "CLR_Test" - Crear
Library
para WCF Client "CLR_Service_Client" Agregue
Serivce Refrence
of wcf service a "CLR_Test" y agregue la referencia de "CLR_Service_Client" en "CLR_Test"
4. Debe cambiar la opción de base de datos para poder ejecutar ensamblajes inseguros con el siguiente códigoALTER DATABASE SaleAutomation CONFIGURAR CONFIANZA EN LA RECONFIGURA
En el "CLR_Test"
Project Properties
en la pestañaSQLCLR
establezca elPermission level
aUnsafe
(existe otra forma de que después de publicar el proyecto cambie su nivel desde la administración del servidor sql y de otra forma agregue el nivel de permiso al script de publicación puede usar cada uno de ellos,
pero debe tener en cuenta que si utiliza desde lasproject properties
delproject properties
solo elproject properties
"CLR_Test" crea automáticamenteUnsafe
y debe usar otras formas para establecer "CLR_Service_Client"Unsafe
)
6. Ejecute estos Scripts para agregar Sqlserver y poder ejecutar el servicio wcf
CREAR ASAMBLEA SMDiagnostics desde ''C: / Windows / Microsoft.NET / Framework / v3.0 / Windows Communication Foundation / SMDiagnostics.dll'' con permission_set = UNSAFE GO
CREATE ASSEMBLY
[System.Web] from
''C:/Windows/Microsoft.NET/Framework64/v2.0.50727/System.Web.dll''
with permission_set = UNSAFE
GO
CREATE ASSEMBLY
[System.Messaging] from
''C:/Windows/Microsoft.NET/Framework/v2.0.50727/System.Messaging.dll''
with permission_set = UNSAFE
GO
CREATE ASSEMBLY
[System.IdentityModel] from
''C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/v3.0/System.IdentityModel.dll''
with permission_set = UNSAFE
GO
CREATE ASSEMBLY
[System.IdentityModel.Selectors] from
''C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/v3.0/System.IdentityModel.Selectors.dll''
with permission_set = UNSAFE
GO
CREATE ASSEMBLY -- this will add service modal
[Microsoft.Transactions.Bridge] from
''C:/Windows/Microsoft.NET/Framework/v3.0/Windows Communication Foundation/Microsoft.Transactions.Bridge.dll''
with permission_set = UNSAFE
GO
CREATE ASSEMBLY -- this will add service modal
[System.Runtime.Serialization] from
''C:/Windows/Microsoft.NET/Framework/v3.0/Windows Communication Foundation/System.Runtime.Serialization.dll''
with permission_set = UNSAFE
GO
CREATE ASSEMBLY -- this will add service modal
[System.ServiceModel] from
''C:/Windows/Microsoft.NET/Framework/v3.0/Windows Communication Foundation/System.ServiceModel.dll''
with permission_set = UNSAFE
GO
- ahora publica su proyecto y ejecuta el procedimiento almacenado y disfrute.